问个 nginx 转发到 tomcat 指定应用的问题

2016-12-23 22:34:36 +08:00
 binbinyouliiii

我一个 tomcat 有多个应用,比如我访问 localhost ,我想让 nginx 转发给 localhost:8080/hello
我在配置文件里设置

 location ~ .*\.(jsp|do)$ {
        proxy_pass http://localhost:8080/hello/;  
        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_pass" cannot have URI part in location given by regular expression,
 or inside named location, or inside "if" statement, 
or inside "limit_except" block in /etc/nginx/conf.d/default.conf:7 

查了查,说是 proxy_pass 后面不能有斜杠,可是都没具体的解决办法,特来 v 站请教

3458 次点击
所在节点    NGINX
2 条回复
Infernalzero
2016-12-23 22:52:28 +08:00
错误提示已经这么明显了,不是不能有斜杠,是不能有 URI ,这里只能指定 host ,要转发到固定 URI pattern 下用 rewrite
binbinyouliiii
2016-12-23 23:01:12 +08:00
@Infernalzero 今天第一次用,然而 rewrite 什么的根本没有接触过,本想着先跑通再说

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/329801

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX