tunnelling and normal http server on the same server - http-tunneling

I am using go-http-tunnel for local tunneling. My server domain is let's say xyz.com, clients connect to *.xyz.com.
What I want to achieve is use xyz.com for normal apache server and subdomain.xyz.com for tunneling.(I want to achive it using only ports 80 and 443)

Related

Make API requests on a remote server from Postman

I work on a remote server via ssh, I ran a service locally on the remote server but how can I hit API's from my local machine's Postman to the service API's on remote server.
I am able to make curl requests from the remote server but I am not able to do the ssh tunneling in Postman, what are the steps I should follow?
While both ssh and HTTP are protocols to communicate between client and server. The basic difference between SSH and HTTP;
I guess you know, but just for others/clarification - SSH means “Secure Shell”. It has a built-in username/password authentication system to establish a connection. Thing is, it uses Port 22 to perform the negotiation or authentication process for connection. Authentication of the remote system is done by providing a public-key from your machine.
The default Port for most Web-Servers to listen for requests is either Port 80 for HTTP or 443 for HTTPS
To make it work
You can either expose a Port on your remote server by defining a firewall rule (even though 80 should probably be open) and make your server listen to incoming requests on that Port.
OR
Now, if you wan't to making it publicly available
put both, your remote Server and your local machine in the same VPN Network - still your server needs to listen for HTTP requests on some Port.
If you are not using some kind of reverse proxy, make sure to specify the port you are contacting the server on e.g. http://localhost:8080

App without native ssl used stunnel. Can this work with AWS LB?

I have to migrate an app that needs to send data encrypted between public network and AWS. Currently it uses stunnel client and the server end sits on a DMZ and acts as a web proxy ( terminating the SSL and redirecting port 443 to 8085)
In short I would like the load balancer to handle stunnel traffic from the client ( or some other non-native encrypted traffic) and then redirect to a server in the private
Thanks

Access image using url on aws ec2 server

I'm working on the AWS EC2 server on which I saved a image on a specific path /var/www/html/uploads/imageName.jpg using FileZila. I want to access that image using url. How can I do that? I have both access read and write in that directory.
below are the security groups
HTTP TCP 80 MyIP
CustomTCPRule TCP 8080 MyIP
SSH TCP 22 MYIP
If you want to access information from a computer via HTTP, then the computer needs to be running a web server.
If it is running a web server, test it by logging into the instance and running:
curl localhost
If this fails, then something is wrong with your web server.

AWS ELB redirect behind SSH tunnel doesn't work

We have an HTTP server listening on port X, and an AWS Classic HTTP Load Balancer, listening on the same port X and forwarding to the host port X.
The ELB is not routable to the internet, so to connect to it, we create an SSH tunnel from a local port Y to the ELB port X over a bastion host.
Simple HTTP requests work ok, however when the service return an HTTP redirect response (303), the ELB translates it to port Y.
So it looks like:
http://localhost:Y --> (303 redirected) http://localhost:X/login
When skipping the ELB and tunnelling directly to the service host, redirects work fine.
Any way to configure the ELB to translate the redirections to the originating port, as specified in the HTTP Host header?

EC2 Load Balancer Instance Protocol and Port

I have an elastic load balancer that works properly when configured like so:
Load Balancer Protocol: HTTPS
Load Balancer Port: 443
Instance Protocol: HTTP
Instance Port: 80
However, if I attempt to change the instance protocol to HTTPS and instance port to 443, my server stops responding.
What do I have to do in order for my instance port to be 443?
The reason I want my instance port to be 443 is that my Rails app must verify that the incoming connection uses SSL, but this way, this check fails.
You need to change the way your application detects whether or not the client is using SSL.
The port on the server won't give you that information. You may want to look at the ELB documentation and see if you can use X-Forwarded-Proto or X-Forwarded-Port.
Your instance server has to be able to respond on port 443, with a valid HTTPS response.
That generally means you have to install a signed SSL cert and configure your web server to use it.
Without knowing what web server you are using, I can't give specific instructions.
For instance, if you are using Apache, you need to install something like mod_ssl.