I created a simple backend server using the Rust "Nickel" framework by following the guide here: https://nickel-org.github.io/getting-started.html
I can run cargo run
locally and hit the local endpoint http://127.0.0.1:6767
via postman to get this response:
{
message: "Hello! Sincerely, Jimbob's Rusty Nickel"
}
This is great, and I would like to deploy it live. I am using a micro aws ec2 instance with ubuntu 18.04 LTS. After I install cargo and run the app with cargo run
I get the usual successful startup "waiting for requests" output:
Listening on http://127.0.0.1:6767
Ctrl-C to shutdown server
I have the ports for my server open with these settings:
Inbound:
80 tcp 0.0.0.0/0, ::/0
22 tcp 0.0.0.0/0
3000 tcp 0.0.0.0/0
443 tcp 0.0.0.0/0, ::/0
0-65535 tcp 0.0.0.0/0
6767 tcp 0.0.0.0/0
Outbound:
All All 0.0.0.0/0
6767 tcp 0.0.0.0/0
When I try to call to the live endpoint using either the ec2's Public DNS (IPv4) with port 6767 or the IPv4 Public IP with port 6767, I get this error response:
Could not get any response
There was an error connecting to http://3.83.65.51:6767.
Why this might have happened:
The server couldn't send a response:
Ensure that the backend is working properly
Self-signed SSL certificates are being blocked:
Fix this by turning off 'SSL certificate verification' in Settings > General
Proxy configured incorrectly
Ensure that proxy is configured correctly in Settings > Proxy
Request timeout:
Change request timeout in Settings > General