Nginx 反向代理多个服务到多个端口

Nginx 反向代理多个服务到多个端口

我昨天学习了 Nginx,更准确地说,我第一次学习了以下网址中涵盖的所有主题:

但我仍然在这里......被困住了,

我在哪里


我正在编辑这个 Nginx 配置文件:/etc/nginx/sites-available/default

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


        root /var/www/html;

        server_name mysite.mydomain.com;
        ssl_dhparam /etc/ssl/certs/dhparam.pem;

        location / {
                proxy_pass http://localhost:8080;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection 'upgrade';
                proxy_set_header Host $host;
                proxy_cache_bypass $http_upgrade;
        }

    listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/mysite.mydomain.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/mysite.mydomain.com/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
}

我的目标


  1. 让两个 nodejs http(s??) 服务器监听两个本地端口
  2. 将它们反向代理到两个 https 端口
  3. 利润

因此要进行如下转换:

http://本地主机:8080/&http://本地主机:8181

对此

https://mysite.domain.com/&https://mysite.domain.com:1337/

基本上,我正在尝试与节点 Web 应用程序一起设置解析服务器,并且我不希望路径发生冲突,所以我希望它们位于不同的公共端口上。

示例节点 Web 应用服务器:

const app = express();

app.use(compression());
app.use(express.static(path.resolve(__dirname, '../dist')));
app.get('*', function(req, res) {
  res.sendFile(path.resolve(__dirname, '../dist/index.html'));
});


app.listen(8181);

提前致谢。

相关内容