微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

NGINX proxy_pass 不起作用;重定向中不处理端口

如何解决NGINX proxy_pass 不起作用;重定向中不处理端口

站点上出现了类似的问题,但我无法弄清楚这一点。我正在运行一个 dockerized 配置。我可以成功访问我的网站 benweaver-VirtualBox:3000/dev/test/rm。但我希望能够在没有端口的情况下访问该站点benweaver-VirtualBox/dev/test/rm .

该端口似乎没有在我的 proxy_redirect 中处理。我尝试注释掉认的 Nginx 配置没有效果。因为我正在运行一个 dockerized 配置,所以我认为认配置无论如何都可能无关紧要。确实, netstat -tlpn |grep :80 找不到 Nginx。但是 docker-compose config 在容器中和导出时都将 Nginx 作为端口 80。配置:

  server {
    listen 80;
                client_max_body_size 200M;

  location /dev/$Nginx_PREFIX/rm {
    proxy_pass http://$PUBLIC_IP:3000/dev/$Nginx_PREFIX/rm;

PUBLIC_IP 设置为盒子的主机名:benweaver-VirtualBox。该主机名在 /etc/hosts 中定义:

127.0.0.1   benweaver-VirtualBox

我怀疑问题出在我的主机名上。 我的主机名 benweaver-VirtualBox 的什么配置阻止了从无端口 URL 成功 proxy_pass 到 benweaver-VirtualBox (127.0.0.1) : 3000 我的应用正在运行?

解决方法

我有工作要做。以下是一些要点:(1) 如果您使用包含端口的地址,例如我的 benweaver-VirtualBox:3000/dev/test/rm,您可能根本不会访问 NGINX!你的第一步是确定你正在使用 NGINX; (2) 知道你的主机是如何与 /etc/hosts 文件中的 ip 地址相关联的。可以将两个或多个主机名与相同的数字 ip 地址相关联; (3) 了解在 NGINX 位置表达式中使用尾随正斜杠。编写 URL 代理有两种“风格”。在一种情况下,作者在位置路径的末尾附加一个尾随正斜杠。如果他或她希望在代理 URL 中使用位置路径,他们必须复制这些路径,将路径元素本身附加到 proxy_pass 行中。省略尾部正斜杠可确保将位置路径附加到代理 URL 上是自动完成的

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。