域名不适用于 nginx 中的某些端口

domain name not working for some ports in nginx

我在我的 ubuntu 服务器中使用 nginx,配置如下:

server {
listen 80;
server_name example.ir www.example.ir;
location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
    root /home/user/project;
}
location /download {
    rewrite ^/download$
http://example.ir/files/file.apk;
}
location /download/ {
    rewrite ^/download/$
http://example.ir/files/file.apk;
}
location /files/ {
    root /home/user/download/;
}
}



server{
    listen 8585;
    server_name example.ir www.example.ir;
        location / {
    include uwsgi_params;
    uwsgi_pass unix:/run/uwsgi/project.sock;
}
}

我可以使用 IP (1.2.3.4:8585) 访问站点(在 django 中),尽管它没有在 nginx 中设置(我知道它通过了 throw nginx 因为它显示在 nginx 访问日志中!),但是我无法用域名访问它! (超时) 唯一同时适用于 ip 和域名的端口是 80 和 8080!其他端口不工作。

我使用 cloudflare 服务作为 dns。

感谢您的帮助。

cloudflare 只允许您使用此处列出的一些特定端口:

对于通过 HTTP 发出的请求:

80 8080 8880 2052 2082 2086 2095

对于通过 HTTPS 发出的请求:

443 2053 2083 2087 2096 8443

您可以使用 8880 而不是 8585 或更改您的 dns 服务。