【发布时间】:2020-04-16 16:58:13
【问题描述】:
所以我正在尝试根据使用 docker 和 Nginx 的请求路由到 3 个不同的容器。 容器具有相同的 IP 和不同的端口。这是 Nginx 配置:
upstream helpdesk{
server 10.10.10.20:8089;
}
upstream dsi_helpdesk{
server 10.10.10.20:8088;
}
upstream drh_helpdesk{
server 10.10.10.20:8090;
}
server {
listen 80;
server_name myticket.grgsh.com;
location / {
proxy_set_header Host $host;
proxy_pass http://helpdesk;
}
location /dsi {
proxy_set_header Host $host;
proxy_pass http://dsi_helpdesk;
}
location /drh {
proxy_set_header Host $host;
proxy_pass http://drh_helpdesk;
}
}
当我导航到 myticket.grgsh.com 时,服务器将我重定向到上游帮助台,但是当我导航到 myticket.grgsh.com/dsi 或 myticket.grgsh.com/drh 时,我收到错误:
未找到 在此服务器上未找到请求的 URL。
谁能帮助解决这个问题?谢谢。
【问题讨论】:
-
上游名称是
helpdesk,但在您的proxy_pass中,您将其传递给all_helpdesk。这是发布问题时的拼写错误还是您真的有这个配置? -
@Yogeshwar 发布问题时出错,很抱歉我已修复。
-
您是否在 nginx 日志中看到对
myticket.grgsh.com/dsi或myticket.grgsh.com/drh的请求?我的意思是您是否检查了 nginx 是否正在抛出 404 或者它是上游服务器?因为 nginx 配置对我来说看起来不错。 -
@Yogeshwar 这里是码头工人日志
10.1.12.130 - - [26/Dec/2019:13:57:05 +0000] "GET /drh HTTP/1.1" 404 196 "http://myticket.grgsh.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:69.0) Gecko/20100101 Firefox/69.0" "- -
日志不是很清楚,请通过修改日志格式在日志中添加更多细节。试试这个:stackoverflow.com/a/26299679/2313097