最近,我成功地使用SSL与nginx和certbot部署了一个ShinyProxy +应用程序,其方式如下:
127.0.0.1:5001上启动。proxy_pass创建到127.0.0.1:5001。certbot安全。这是成功的nginx.conf location部分:
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_http_version 1.1;
proxy_redirect off;
proxy_read_timeout 90s;
proxy_pass http://127.0.0.1:5001;
}这很好地将我重定向到https://app.myweb.com/login,因为我已经设置了一个CNAME。需要注意的是,{ShinyProxy}自动重定向到末尾的login。成功登录后,url重定向到https://app.myweb.com/app/website。
我真正挣扎的是以下几点:添加一个location block,或者按我的理解,将我的upstream块包含到我的downstream中(如果我错了,请更正我的条款)。因此,让我的url使用nginx中的以下配置从https://app.myweb.com/login转到https://app.myweb.com/dashboard/login:
location /dashboard/ { # THIS IS WHAT I WANT TO ADD
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_http_version 1.1;
proxy_redirect off;
proxy_read_timeout 90s;
proxy_pass http://127.0.0.1:5001;
}所有发生的事情是,如果我键入https://app.myweb.com/dashboard/,它不会像我预期的那样转到https://app.myweb.com/dashboard/login,而是重定向回404's的https://app.myweb.com/login。
对我做错了什么有什么建议吗?
发布于 2022-02-23 18:36:48
location ^~ /dashboard/ { # THIS IS WHAT I WANT TO ADD你能这样试试吗?它可以解决你的问题。
发布于 2022-02-24 23:04:40
您需要设置应用程序的基本URL以匹配配置的URL nginx。
https://serverfault.com/questions/1094535
复制相似问题