【发布时间】:2014-04-13 03:09:45
【问题描述】:
当您将 nginx 作为 apache 的反向代理服务器运行时,任何人都会遇到常见问题,我想将双 proxy_pass 变量添加到 nginx conf。文件,但 nginx 似乎不允许这样做。
例如我遇到的情况是 在我的网站中,我有由 openfire 运行的聊天引擎,它使用 Jetty 在端口 5280 上运行,并且我已将 apache 代理传递指令设置为
ProxyPass /member-chat http://xyx.com:5280/http-bind
ProxyPassreverse /member-chat http://xyx.com:5280/http-bind
ProxyRequests Off
但我想将“/member-chat”中的任何内容直接发送到聊天服务器而不是 apache,因为 apache 会再次将其代理传递给 openfire(成员聊天) ,这对于 apache 来说需要更多的时间和无用的加载。
当我添加 nginx 作为代理服务器时,我想像下面这样添加,但这不起作用,由于某种原因,它找不到位置给我 404 错误。
location / {
proxy_pass http://85.xxx.yyy.2x2:7080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
access_log off;
}
location ~ ^/member-chat {
proxy_pass http://85.xxx.yyy.2x2:5280;
proxy_connect_timeout 300;
}
【问题讨论】:
标签: apache nginx proxy jetty openfire