【发布时间】:2018-06-30 00:25:39
【问题描述】:
我遇到的问题是我无法远程访问,除非我使用端口 80 并且我想使用其他端口。
这是我正在使用的 NGINX 配置。这将适用于端口 80。但是,如果我更改
listen 80;
到
listen 6000;
从本地机器外部访问时不起作用。
也就是说,机器上的 curl 127.0.0.1:6000 可以工作。但是尝试使用 184.169.100.100:6000 从外部访问是行不通的。 (假装那是我的公共 IP 地址。)它在 Chrome 中给我一个“无法访问站点”错误。
我已检查安全设置以确保端口 6000 已打开。这是一个 AWS EC2 实例。
将事情放在上下文中的可选注释:总的来说,我要做的是在一台机器上设置两个不同的服务器,每个服务器都可以从不同的端口访问,并且每个服务器都运行它自己的一组 python 工作程序。作为第一步,我只是想确保我可以更改访问服务器的端口,但是,我什至还不能这样做并且仍然可以从外部访问它。
ubuntu@ip-172-31-9-113:/etc/nginx/conf.d$ cat flask.conf
upstream gunicorn_server {
server localhost:8080 fail_timeout=0;
}
server {
listen 80;
server_name 184.169.100.100;
root /home/ubuntu/www;
client_max_body_size 4G;
keepalive_timeout 5;
proxy_read_timeout 900;
location / {
try_files $uri @app;
}
location @app {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_redirect off;
# pass to the upstream gunicorn server mentioned above
proxy_pass http://gunicorn_server;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
感谢任何帮助。
【问题讨论】: