要设置 Nginx 作为反向代理,以便将不同的域名转发到不同的端口,首先需要安装 Nginx。在 Ubuntu 系统上,您可以使用以下命令来安装 Nginx:

sudo apt update
sudo apt install nginx

安装完成后,您需要为每个域名创建一个新的配置文件。配置文件通常位于 /etc/nginx/sites-available/ 目录中,并且需要创建一个软链接到 /etc/nginx/sites-enabled/ 目录来启用这些站点。

首先,创建两个配置文件,分别为 nfvschool.cndocs.nfvschool.cn

sudo nano /etc/nginx/sites-available/nfvschool.cn

在打开的文件中,添加以下内容,用以将请求代理到 8090 端口:

server {
    listen 80;
    server_name nfvschool.cn;

    location / {
        proxy_pass http://localhost:8090;
        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;
    }
}

保存并关闭该文件,然后为 docs.nfvschool.cn 创建另一个配置:

sudo nano /etc/nginx/sites-available/docs.nfvschool.cn

添加以下内容,用以将请求代理到 8080 端口:

server {
    listen 80;
    server_name docs.nfvschool.cn;

    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;
    }
}

保存并关闭该文件。

接下来,您需要为这两个配置文件创建软链接,以便 Nginx 可以启用它们:

sudo ln -s /etc/nginx/sites-available/nfvschool.cn /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/docs.nfvschool.cn /etc/nginx/sites-enabled/

现在,验证 Nginx 配置文件是否正确:

sudo nginx -t

如果一切正常,重启 Nginx 使配置生效:

sudo systemctl restart nginx

现在,Nginx 应该会将 nfvschool.cn 的请求代理到本地的 8090 端口,以及将 docs.nfvschool.cn 的请求代理到本地的 8080 端口。确保在防火墙规则中允许 80 端口的 HTTP 流量,以便外部用户可以访问您的网站。