我遇到的问题是我无法远程访问,除非我使用端口80并且我想使用其他端口。
这是我正在使用的NGINX配置。这将适用于端口80.但是,如果我改变
listen 80;
到
listen 6000;
从本地计算机外部访问时不起作用。
换句话说,机器上的卷曲127.0.0.1:6000有效。但是尝试使用184.169.100.100:6000从外部访问不起作用。 (假装这是我的公共IP地址。)它在Chrome中为我提供了“无法访问网站”错误。
我已检查安全设置以确保端口6000已打开。这是一个AWS EC2实例。
将事情放在上下文中的可选注释:总的来说,我要做的是在一台机器上设置两个不同的服务器,每个服务器可以从不同的端口访问,每个服务器都运行它自己的一组python worker。作为第一步,我只想确保我可以更改访问服务器的端口,但是,我甚至无法做到这一点,仍然可以从外部访问它。
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;
}
}
感谢任何帮助。
答案 0 :(得分:0)
回答我自己的问题: 我尝试使用端口6001而不是6000,然后它工作。我可以从外面访问它。我不能说出原因,但对于我的具体案例,一定存在6000问题。
答案 1 :(得分:0)
6000端口是否打开?
签入入站端口规则。
然后尝试点击sudo ufw allow 6000
并检查是否还可以使用6000。
(此问题很旧,但仍在回答,因为如果有人遇到相同的问题,此答案可能会对他们有帮助)
答案 2 :(得分:0)
尝试使用这个命令:
firewall-cmd --zone=public --add-port=6000/tcp --permanent
答案 3 :(得分:0)
这发生在防火墙上。
Ubuntu: 如果您的 ufw 已启用:
sudo ufw allow 6000
在 centos 中禁用 selinux(不推荐。搜索 selinux 配置以获取允许端口)