如何让 Nginx 将外部流量请求重定向到我的 Linux 服务器的 127.0.0.1 IP 地址上的特定端口?

如何让 Nginx 将外部流量请求重定向到我的 Linux 服务器的 127.0.0.1 IP 地址上的特定端口?

我使用的是 RHEL 8.x。我有一个 Web UI 服务,监听 127.0.0.1 IP 地址的 9200 端口。我已经安装了 Nginx。我希望 Nginx 将 Web 流量重定向到 127.0.0.1:9200。

我从后端运行了这个:curlhttp://127.0.0.1:9200

它向我展示了我所期望的东西。

从前端(通过工作站上的 Web 浏览器),我可以访问http://123.123.123.123并查看默认的“欢迎使用 nginx...”网页。

我期望在按照各种不同的说明配置 nginx.conf 并重新启动 nginx 服务后,它会对我有用。它只是显示默认的“欢迎使用 nginx”页面。我希望它将流量重定向到我的 Linux 服务器上的特定端口。

我尝试过 nginx.conf 中的服务器块的变化,如下所示:

服务器{返回 301http://127.0.0.1:9200; }

或者像这样:

服务器{监听 80;监听[::]:80;返回 301http://127.0.0.1:9200; }

我尝试修改位置节并使用 proxy_pass。我每次都重新启动 Nginx 服务器,但似乎没有任何效果。如何让 Nginx 通过特定端口将网络流量引导到本地主机并绕过默认的 nginx 网页?

答案1

您需要将 nginx 配置为反向代理。反向代理是位于 Web 服务器(在您的情况下为 Web UI 服务器)前面的代理服务器(中间人),拦截并将客户端流量转发给它。

反向代理的基本 nginx 配置(只需用这个替换默认服务器 { } 块)

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

  server_name _;

  location / {
      proxy_pass http://127.0.0.1:9200/;
  }
}

相关内容