![]() |
如何使用 NGINX 配置反向代理 - 可打印的版本 +- Netflix优惠码论坛 (https://www.sinovoter.com) +-- 版块: 合租专栏 (https://www.sinovoter.com/forum-18.html) +--- 版块: VPS 主机 服务器优惠 (https://www.sinovoter.com/forum-20.html) +--- 主题: 如何使用 NGINX 配置反向代理 (/thread-8131.html) |
如何使用 NGINX 配置反向代理 - netflix - 09-11-2023 NGINX 是 2004 年首次发布的轻量级 Web 服务器,也可以用作反向代理。我们制作了许多关于 NGINX 的教程,最近设置了一个 Node.js 应用程序,它也使用 NGINX 作为其反向代理,但它使用 NPM 包来生成应用程序特定的配置。 在本教程中,我们将配置 NGINX 以从托管在本地端口上的 Apache 后端进行反向代理,这只是一个示例。一般来说,如果您有一个硬编码的应用程序(如 Plex、Webmin 等)侦听非默认默认端口(即不在端口 80 / 443),或者您已经在使用 HTTP 端口,则反向代理很有帮助使用 NGINX Web 服务器,并且不能将这些端口分配给另一个应用程序。 有时,由于自定义重写支持,Web 应用程序仅与特定的 Web 服务器(如 Apache)兼容,并且 NGINX 因其低内存占用和缓存静态内容的能力而被用于前端。在 VestaCP 的默认安装中也可以看到这种设置。 要求:
同样,我们仅作为示例安装 Apache,您的后端可以根据要求是任何应用程序。 让我们用apt安装apache2 代码: apt install apache2 -y https://cdn.diamondzxd.com/index.php/s/8qeebdjmq4m88kr/preview 更改 Apache 的端口 由于 HTTP 端口将来会被 NGINX 服务器接管,我们将更改 apache 的端口,我们可以通过编辑 Apache 的 ports.conf 文件来更改 apache 的端口: 代码: nano /etc/apache2/ports.conf 代码: Listen 8080 代码: service apache2 restart https://cdn.diamondzxd.com/index.php/s/swk87TWYb56dfFT/preview 第 2 步:安装 NGINX 网络服务器 代码: apt install nginx -y 代码: root /var/www/html; 它不是显示 index.nginx-debian.html,而是显示 index.html,因为它在配置的目录索引中是第一个。 第 3 步:向 Apache 添加额外的标头 尽管这对于实现我们正在做的事情不是必需的,也不是必需的,但只是为了演示,我们将添加一个 Additional “Serverd-By : Backend” 标头,以查看内容实际上是由我们的后端提供的,甚至反向代理后将显示原始标题。 为此,只需将以下行添加到 apache2.conf 代码: nano /etc/apache2/apache2.conf 代码: a2enmod headers https://cdn.diamondzxd.com/index.php/s/YBcBLBKHJ2EjBtD/preview 如您所见,存在 Served-By : Backend 标头。 第 4 步:配置反向代理 现在后端已经设置好了,是时候最终配置反向代理了。 首先,我们将删除默认配置文件。 代码: unlink /etc/nginx/sites-enabled/default 代码: nano /etc/nginx/sites-enabled/reverse_proxy 代码: server { ![]() 然后,最后重新启动 NGINX 网络服务器。 代码: service nginx restart 让我们转到我们想要的域名,我们会在 /var/www/html 目录中找到正在服务的 index.html 文件:https ://cdn.diamondzxd.com/index.php/s/T4WG6RNsgq9E7DB/preview 好的,我们看到了 index.html,但它真的是由 Our Backend 提供的吗?为了验证这一点,让我们检查标题:https ://cdn.diamondzxd.com/index.php/s/pmBCxZWe8sFDeyQ/preview 事实上,我们在 Apache 中设置的 Served-By : Backend 标头现在正在通过 NGINX 显示,这可以确认反向代理正在工作! 您也可以尝试停止 Apache(后端),然后查看以下内容 代码: service apache2 stop 正如预期的那样,由于后端现在已关闭,我们收到 502 Bad Gateway 错误,这进一步验证了内容是通过反向代理 J 提供的 让我们重新启动后端, 代码: service apache2 start 网站又恢复了! 结论 我们已经向您展示了如何在 Ubuntu 18.04 VPS 上使用 NGINX over Apache(或任何后端)配置反向代理。您可以在您的 VPS 上与您的其他 NGINX 网站并行执行此操作。 |