nginx 端口 443 访问被拒绝

nginx 端口 443 访问被拒绝

我正在尝试在 ec2 中的 nginx /django 上使用 ssl。

这是配置

server {
        listen       443;
        ssl          on;
        ssl_certificate        /apps/cert-chain.crt;
        ssl_certificate_key    /apps/private.key;
        ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers         HIGH:!aNULL:!MD5;

        server_name  mytest.com;

            location /static {
             alias /apps/static/;
            }

            location / {
                 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                 proxy_set_header Host $http_host;
                 proxy_redirect off;
                 proxy_read_timeout 75s;
                 proxy_connect_timeout 75s;
                 if (!-f $request_filename) {
                     proxy_pass http://127.0.0.1:9006;
                     break;
                 }
            }
    }

启动 nginx 时出现以下错误

nginx: [emerg] bind() to 0.0.0.0:443 failed (13: Permission denied)
nginx: [emerg] bind() to 0.0.0.0:443 failed (13: Permission denied)
nginx: [emerg] bind() to 0.0.0.0:443 failed (13: Permission denied)

答案1

端口 443 是受限端口(低于 1024),只有管理员才能绑定。

处理此问题的最佳方法是绑定到不同的端口(8443 或类似端口),然后通过以系统身份运行的 iptables 等程序转发来自 443 的流量。

相关内容