加载中…
个人资料
iPan
iPan
  • 博客等级:
  • 博客积分:0
  • 博客访问:1,058,661
  • 关注人气:234
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

nginx配置应用路径

(2022-04-14 22:26:48)
标签:

nginx

分类: 服务器
问题:nginx反向代理web服务器时,web服务器发起302请求时候,nginx会自动转换请求路径(部署在一台服务器就是自动转换端口号);比如:nginx端口70,web服务7070,web服务发起重定向到登录页时候,回给nginx是7070,nginx收到7070后自动转为70;然后客户端浏览器访问70时候,nginx反向代理到7070;
但,当客户端请求路径/aaa/index,web服务返回/admin/login时候,nginx发现两个路径不匹配,就直接返回7070/admin/login的重定向,这样系统会报错;

所以,结论是每个应用建议加一个根路径,这样可以保证nginx能够正确解析转换web服务器的路径;

参考
server {
    #web服务监听端口
        listen       70;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html/xmgl;
            index  index.html index.htm;
    try_files $uri $uri/ /index.html;
    #重定向/admin到/xmgl/admin
            rewrite ^/(admin.*)$ /xmgl/$1 permanent;
        }
#后端服务映射(必须一个应用对应一个路径,否则一个应用使用多个路径遇到302跳转路径转换会有问题)
location /xmgl {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #web服务器重定向使用X-Forwarded过来的参数进行转换
proxy_pass http://localhost:8081/xmgl;
}
        ...

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有