首页 > 解决方案 > NGINX 反向代理重定向而不是代理

问题描述

我有一个 NGINX 服务器作为反向代理运行。代理适用于 Windows 主机,但是我有一个自己的云服务器,代理会将 url 改写为内部主机名或 IP 地址。ex(我输入 cloud.example.com 并且我的 url 栏将更改为 10.1.1.19 无法通过 wan 解析

我检查了 DNS 记录并确保 NGINX 可以解析主机名。还尝试将 http 流量转发到云服务器,以确保使用域名不是问题。

server {
  listen 80;
  listen [::]:80;

  server_name example.com;

  location / {
      proxy_pass http://10.1.1.16:80/;
  }
}

server {
  listen 80;
  listen [::]:80;

  server_name cloud.example.com;

  location / {
      proxy_pass http://10.1.1.19:80/;
  }
}

server {
  listen 80;
  listen [::]:80;

  server_name remote.example.com;

  location / {
      proxy_pass http://10.1.1.17:80/;
  }
}

我只需要 NGINX 作为“cloud.example.com”的代理运行,而不是重写 URL

标签: nginx-reverse-proxy

解决方案


我找到了部分答案——为什么我的 Nginx 反向代理执行 301 重定向而不是代理?.

对我来说,它阻止了 nginx 更改主机名(即从 good-domain.com 到 10.1.5.5:8080),但似乎没有办法阻止 nginx 将端口附加到客户端的请求 URL。

因此,在使用上面引用的答案时,我能够从http://10.1.5.5:8080转到 http://good-domain:8080。它仍然不是我想去的地方,但它肯定让我更接近。


推荐阅读