首页 > 解决方案 > 使用 NGINX 作为反向代理为同一服务器上的网络服务器提供服务

问题描述

我正在尝试将 Nginx 实现为反向代理,以通过子域为不同的 Web 应用程序提供服务,但似乎找不到任何对初学者友好的指南。

例子:

这个想法是在我的路由器上打开端口 80 和 443,然后将所有流量转发到反向代理,然后反向代理与我的 LAN 上的相应服务器(通过子域配置指定)通信并将请求传递回客户端。

到目前为止我尝试过的(虽然没有任何运气):

1)编辑default文件/etc/nginx/sites-available/看起来有点像这样:

server {
    listen 80;
    server_name cloud.mydomain.com;
    location / {
        proxy_pass http://localhost:5000/;
    }
}

server {
    listen 80;
    server_name node2.mydomain.com;
    location / {
        proxy_pass http://localhost:5001/;
    }
}

这将导致任何子域指向我在第一个块中指定的任何内容:(

2)取消链接默认文件,在下创建一个新test.conf文件/etc/nginx/sites-available/并将其链接到/etc/nginx/sites-enabled/nginx -t没有报告任何错误)。配置与上面相同。

设置:我正在运行 Ubuntu Server 19.10。我做了一个域名,我已经将子域设置为 CNAME 记录。

注意:我不想将 Nginx 用作 Web 服务器。我正在尝试将它用于 node.js Web 应用程序、数据库、我的 nextcloud 等。

注意 2:我现在只关心子域。是的,我需要添加 SSL 配置等,但是一旦我了解如何进行正确的配置,我将能够使用文档解决所有这些问题(我希望?哈哈)。

标签: ubuntunginxserverreverse-proxy

解决方案


推荐阅读