要设置 Nginx 作为反向代理,以便将不同的域名转发到不同的端口,首先需要安装 Nginx。在 Ubuntu 系统上,您可以使用以下命令来安装 Nginx:
sudo apt update
sudo apt install nginx
安装完成后,您需要为每个域名创建一个新的配置文件。配置文件通常位于 /etc/nginx/sites-available/
目录中,并且需要创建一个软链接到 /etc/nginx/sites-enabled/
目录来启用这些站点。
首先,创建两个配置文件,分别为 nfvschool.cn
和 docs.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 流量,以便外部用户可以访问您的网站。
评论