我正在运行一个 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 请求似乎没有任何反应。