我的 nginx 配置有什么问题?

我的 nginx 配置有什么问题?

我正在运行一个 vue 应用程序,它暴露在端口 5000 上。我暂时关闭了防火墙,可以确认该应用程序正在运行。我在 GNU Screen 上运行它,我之前在网站上也这样做过,没有问题。我还可以确认这不是 selinux 的问题。

目的是让 www -> 非 www,https。这些重定向工作正常,我只是无法让端口 5000 上的内容显示在主 URL 页面上。

server {
       listen       80;
       listen       [::]:80;
       server_name  www.{my-url}.com {my-url}.com;
       return 301   $scheme://{my-url}.com$request_uri;

       location / {
                proxy_pass http://{my-ip}:5000;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection 'upgrade';
                proxy_set_header Host $host;
                proxy_cache_bypass $http_upgrade;
                }

                error_page 404 /404.html;
                location = /40x.html {
                }

                error_page 500 502 503 504 /50x.html;
                location = /50x.html {
                }
}

server {
       listen 443 ssl http2;
       listen [::]:443 ssl http2;
       ssl_certificate         {path-ok};
       ssl_certificate_key     {path-ok};
       ssl_client_certificate  {path-ok};
       ssl_verify_client on;

       server_name {my-url}.com;

}

我整天都在尝试破解它。我尝试删除很多东西,改变 IP 地址,将 default_server 添加到 443,从 443 服务器中删除服务器名称,以及几乎所有方法。我只是一直在 URL 上获取默认页面。

答案1

return 301   $scheme://{my-url}.com$request_uri;

每个 http 请求都会重定向到其自身,您的浏览器可能会出现无限循环。“location /”永远无法到达。https 请求似乎没有任何反应。

相关内容