[英]nginx redirect (or proxy) to another app on localhost
I want to use nginx to redirect (or proxy) request from 7443 to 8443. 我想使用nginx将请求从7443重定向(或代理)到8443。
https://serverIP:7443/oldApp/ ==> https://serverIP:8443/new/app/
I've tried some of settings, but still got 404 or empty page. 我尝试了一些设置,但仍然显示404或空白页。
Here are my nginx config: 这是我的Nginx配置:
//ssl settings ..
server {
listen [::]:7443 ipv6only=off ssl;
server_name localhost;
location /oldApp/ {
proxy_set_header Accept-Encoding "";
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 X-Forwarded-Port 8443;
#add_header Front-End-Https on;
proxy_pass https://127.0.0.1:8443/new/app;
}}
And here are some assumptions that might be helpful for directive usage: 以下是一些可能对指令用法有用的假设:
for different port/scheme => use proxy_pass (or proxy_redirect) 对于不同的端口/方案=>使用proxy_pass(或proxy_redirect)
for different virtual host/subdomain/folder => use sub_filter (or rewrite?) 对于不同的虚拟主机/子域/文件夹=>使用sub_filter(或重写?)
Are those assumptions correct? 这些假设正确吗?
Thanks in advance! 提前致谢!
I fixed this as below: 我固定如下:
server {
listen [::]:7443 ipv6only=off ssl;
server_name localhost;
location ^~ /oldApp {
proxy_pass https://127.0.0.1:8443/new/app/;
# Here is the trick: add the port behind $host
proxy_set_header Host $host:8443;
# This make sure your session won't lose
proxy_cookie_path ~*^/.* /;
}}
Many thanks 非常感谢
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.