V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
NGINX
NGINX Trac
3rd Party Modules
Security Advisories
CHANGES
OpenResty
ngx_lua
Tengine
在线学习资源
NGINX 开发从入门到精通
NGINX Modules
ngx_echo
binbinyouliiii
V2EX  ›  NGINX

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

  •  
  •   binbinyouliiii · 2016-12-23 22:34:36 +08:00 · 3450 次点击
    这是一个创建于 2671 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我一个 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 站请教

    2 条回复    2016-12-23 23:01:12 +08:00
    Infernalzero
        1
    Infernalzero  
       2016-12-23 22:52:28 +08:00
    错误提示已经这么明显了,不是不能有斜杠,是不能有 URI ,这里只能指定 host ,要转发到固定 URI pattern 下用 rewrite
    binbinyouliiii
        2
    binbinyouliiii  
    OP
       2016-12-23 23:01:12 +08:00
    @Infernalzero 今天第一次用,然而 rewrite 什么的根本没有接触过,本想着先跑通再说
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1031 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 20:10 · PVG 04:10 · LAX 13:10 · JFK 16:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.