Accessing Dokku App url - amazon-ec2

I have deployed a sails application with dokku on a amazon ec2 instance. After deployment I randokku run app-name sails console and my sails app is running when I check the sails logs its says its running on localhost:5000.
And dokku app-name url will give me a url example.com but when I try to access example.com in the browser it doesn't work. Isn't the app supposed to run on that url given by dokku? and when I hit that url shouldn't the ngnix proxy to localhost:5000 ?
What am I missing here ?

Your application should be listening on the 0.0.0.0 interface, as otherwise the nginx process outside of the container cannot proxy to it.

Related

How can I setup my nextjs app to run on EC2 as it's only running on localhost?

I would like to make my nextjs app run on an EC2 instance (ubuntu 18.04).
However, when I sudo npm start, it's then running on localhost, and I don't know how to make it accessible from outside. I tried to access the IP given by AWS and to add the port (:3000), without success.
Would you have an idea of how I must setup this app to be accessible ? What did I miss ?
Finally found out
Localhost is not the problem, it was that the ports are not open by default on EC2 instances.
By adding a Security Group and opening the ports I needed (http for 80, https 443, ssh with 22, and 3000 for the test) it worked out.

How do I fix the http 500 bad gatway when delploying Docker to GCP App Engine?

I want to deploy my spring boot app in a docker component to gcp App Engine
When I run the docker componet local I get access to the web site.
When I deploy the component to the gcp app engine with the command gcloud app deploy
I get a http error 502 Bad Gateway nginx
The Docker file look like this
FROM adoptopenjdk/openjdk14
MAINTAINER steinko
VOLUME /tmp
COPY build/libs/atm.jar ./
ENTRYPOINT ["java"]
CMD ["-jar", "/atm.jar"]
EXPOSE 4001
The app.yaml files looks like this
runtime: custom
env: flex
handlers:
- url: /.*
script: this field is required, but ignored
service: atm
How do I fix this error?
According to this document: The App Engine front end will route incoming requests to the appropriate module on port 8080. You must be sure that your application code is listening on 8080. Also, it looks like the FROM should be one of Google's base image, also in that document.

Gatsby on EC2 doesn't connect externally

I have a development installation of Gatsby Doc site running on my EC2 server.
When I run the code on my dev machine it works and I can connect my browser to port 8000 and everything is ok..
On my server i check out my github code and
yarn install
npm run start.
Everything builds correctly and Gatsby it listening on port 8000
From my dev machine when I connect using
X.X.X.X:8000 in my browser i receive
Unable to connect
I have opened the port on 8000 in the firewall and I have tested that it works as expected using:
nc -lv 8000
on the server (where gatsby is going to run) and connect using telnet.
on the server i receive
Listening on [0.0.0.0] (family 0, port 8000)
Connection from 84.232.Y.Y 38552 received!
So it works.
When Gatsby is finished starting i see
You can now view gatsbyjs.org in the browser. ⠀ http://localhost:8000/
⠀
when i enter the web address and port i receive
Unable to connect
again. do I need to start Gatsby in another mode?
Kim
I found out.
I just added -H 0.0.0.0 to the start up command and everything works now.

Mac docker unable to access port 80 with nginx

I'm following the tutorial "Getting started with Docker for Mac" but I'm unable to access the nginx home page at localhost. Every time I access localhost, the displayed page is "It works!" which is the default page contained in /Library/WebServer/Documents/index.html.en. I tried to kill all httpd services to remove the binding to the port 80 but it didn't change anything. I also checked that there wasn't any application that was running on port 80 and that neither Skype, MAMP or an Apache server who could be using this port was running.
I think that my Docker installation is correct as I'm able to run the docker --version, docker-machine --version and docker-compose --version without error. I'm running the container with the command described in the tutorial
docker run -d -p 80:80 --name webserver nginx but it doesn't work. I tried many ports but it didn't change anything.
Here is the output of a
docker ps
So I tried to access the app via 0.0.0.0:80 but it didn't work neither, it always redirect me to the page contained in Library/WebServer/Documents/index.html.en. I tried binding to all kind of ports (8080:80, 8181:81, 8181:80, 8181:8181 ...) and nothing never changed. In those case, I got a page telling me
"Safari can't connect to server. Safari can't open the page "0.0.0.0:8080" because Safari can't connect to server "0.0.0.0".
I also tried replacing localhost by 127.0.0.1 but I still have the issue.
If you need further explanations or have any question, ask me. Thanks in advance for your help

Kubernetes proxy connection

I am trying to play around with kubernetes and specifically the REST API. The steps to connect with the cluster API are listed here. However Im stuck in the first step i.e. running kubectl proxy
I try running this:
kubectl --context='vagrant' proxy --port=8080 &
which returns error: couldn't read version from server: Get https://172.17.4.99:443/api: dial tcp 172.17.4.99:443: i/o timeout
What does this mean? How do overcome it connect to the API?
Check that your docker, proxy, kube-apiserver, kube-control-manager services are running without error. Check their status using systemclt status your-service-name. If the service is loaded but not running then restart the service by using systemctl restart your-service-name.

Resources