Nginx - 将域重定向到本地主机:端口内容

Jul*_*ira 11 nginx server

我在我的服务器上安装了Nginx(我的服务器使用WHM)。并且在该服务器上有两个帐户。每个帐户将运行一个 NextJS 站点的服务器,并且每个帐户都有自己的域。

Site1将在端口 3000 上运行

Site2将在端口 3004 上运行

我想做的是:

我想访问domain1我在NextJS中看到我的site1的内容,在localhost:3000上运行

当我访问domain2时,我在localhost:3004上运行的NextJS上看到我的site2的内容

我尝试为site1执行 Nginx 实现。但是当我访问它时,我看到了一个 Cpanel 屏幕,并且 url 是dominio1/cgi-sys/defaultwebpage.cgi

这是我尝试做的 Nginx 实现:

server {
    listen 80;

    server_name computadorsolidario.tec.br www.computadorsolidario.tec.br ;

    location / {
        proxy_pass http://localhost:3004;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
    }
}
Run Code Online (Sandbox Code Playgroud)

那么我该如何设置才能让 nginx 具有这种行为呢?我正在更改正确的文件?

注意:我在/etc/nginx/conf.d/users/domain1/domio1.conf中创建了配置文件,并且在/etc/nginx/conf.d/users中有几个配置文件,其中包含您在服务器。(它们已经实施了。)

小智 10

尝试

upstream app1_server {
    server app1:8501;
}

upstream app2_server {
    server app2:8501;
}


server {
   listen 80;
   listen [::]:80;
   server_name trace.devops.rightsense.ai;
   

   location / {
        proxy_pass http://app1_server;

        proxy_set_header        Host $host;
        proxy_set_header        X-Real-IP $remote_addr;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header        X-Forwarded-Proto $scheme;
        proxy_set_header        Upgrade $http_upgrade;
        proxy_set_header        Connection "upgrade";
        proxy_redirect          off;
        proxy_http_version      1.1;
   }
}

server {
   listen 80;
   listen [::]:80;
   server_name demo.devops.rightsense.ai;
   

   location / {
        proxy_pass http://app2_server;

        proxy_set_header        Host $host;
        proxy_set_header        X-Real-IP $remote_addr;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header        X-Forwarded-Proto $scheme;
        proxy_set_header        Upgrade $http_upgrade;
        proxy_set_header        Connection "upgrade";
        proxy_redirect          off;
        proxy_http_version      1.1;
   }
}
Run Code Online (Sandbox Code Playgroud)

每个域都侦听相同的端口,并在您指定的端口上反向代理到本地网络。要区分主机,请指定 server_name 字段。

  • @humkins 答案是正确的:这里不允许“proxy_pass”指令...... (4认同)