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

nginx 从一个本地 ip 到另一个本地 ip 的基本 proxy_pass

如何解决nginx 从一个本地 ip 到另一个本地 ip 的基本 proxy_pass

我是 Nginx新用户,我正在关注 youtube 上 Linode 的视频指南(如何设置 Nginx 反向代理)。

我的 Nginx 和 apache 服务器都在端口 80 上运行。我知道这是因为当我在 Firefox 中输入两者的 IP 地址时,它会将我定向到 Nginx/apache 欢迎页面

youtube 视频配置模板如下(其中 server_name 是 linode ip):

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

  server_name 172.105.104.226;
  location / {
      proxy_pass http://localhost:3000/;
  }

在我的 Proxmox 机器上,Nginx 服务器位于 192.168.1.241 的虚拟机上,而 apache 服务器位于 192.168.1.243 的另一台虚拟机上。

查看 Nginx 文档我们发现:

location /some/path/ {
    proxy_pass http://www.example.com/link/;
}

应该代理Nginx监听端口收到的所有流量,并重定向到proxy pass指定的地址。

有了这些信息,我的配置文件是这样的:

server {
    listen 80;
    listen [::]:80;
    server_name 192.168.1.241;
    location / {
        proxy_pass http://192.168.1.243;
    }
}

我的理解是这个配置文件应该在80端口(Nginx服务器)上监听地址192.168.1.241,然后重定向指定地址192.168.1.243(apache服务器)/

如果我理解正确,Location / 应该接受 Nginx 服务器上收到的请求并将其重定向到 apache 服务器。

但是,当我在浏览器中输入 192.168.1.241 时,它没有显示 apache 欢迎消息,而是显示Nginx 欢迎消息。这意味着代理不起作用。

我对 Nginx 的理解非常有限,因为我刚刚开始学习,但在我看来这应该有效,但没有。

感谢您的帮助

解决方法

事实证明配置是正确的。

问题是网页被缓存了。通过强制完全刷新,192.168.1.241 成功重定向到 192.168.1.243。

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