nginx 配置问题

cgnq 发布于 2016/10/19 11:34
阅读 344
收藏 0

同一tomcat 下有两个应用   A  B  配置nginx的server 下有俩个location A的为 /abc 和proxy_pass   http://127.0.0.1:8080/a B应用为 /b  proxy_pass   http://127.0.0.1:8080/b  问题是b可以正常访问,a的所有资源路径都加上了a  想要的效果是 前端访问http://ip/abc/ nginx 反向代理到本机的 http://127.0.0.1:8080/a


加载中
0
ftlynx
ftlynx

引用来自“ftlynx”的评论

   location /abc/ {
                rewrite /abc/(.*) /a/$1 break;

                proxy_pass http://127.0.0.1:8080;

        }


原理很简单,就是把请求的url 重写一次在去代理。资料没有,只能说是熟能生巧了。

c
cgnq
感谢感谢!
0
小紫羽
小紫羽

a的配置是否多加了/;

比如 /abc/ 比如 :8080/a/

c
cgnq
/也加了,问题是所有的资源以及请求路径都换成了http://ip/a 而不是我想要的http://ip/abc
0
Minho
Minho
location /abc {
                 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                 proxy_set_header Host $http_host;
                 proxy_redirect off;
                  proxy_pass http://127.0.0.1:8080/a;
         }

类似这样的。


0
ftlynx
ftlynx

   location /abc/ {
                rewrite /abc/(.*) /a/$1 break;

                proxy_pass http://127.0.0.1:8080;

        }


c
cgnq
好神奇,搞定我一上午没搞定的,求原理 还有就是资源问题解决了,比如A标签还是加上了一个影身前缀
0
c
cgnq
location  /wa {
         proxy_pass   http://127.0.0.1:8080;
         rewrite /wa/(.*) /wa_20161018/$1 break;
         proxy_set_header X-Real-IP $remote_addr;
         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
         proxy_set_header Host $host; 
         client_max_body_size  100m; 
         proxy_set_header Host $host;
         #proxy_redirect off;
        } 
这个是我实际配置
返回顶部
顶部