ZBLOG

我有两个网站,在不同的端口。用不同的域名来访问他们,nginx配置文件怎么写

要在 Nginx 中配置两个网站,可以根据域名和不同的端口进行反向代理。以下是一个示例配置文件,展示了如何为两个不同的域名设置不同的后端服务。

假设你有两个网站:

  1. 网站A,域名为 example-a.com,监听端口为 8080
  2. 网站B,域名为 example-b.com,监听端口为 8081

可以使用如下配置:

server {
    listen 80;
    server_name example-a.com;

    location / {
        proxy_pass http://localhost:8080;  # 将请求转发到网站A的后端
        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;
    }
}

server {
    listen 80;
    server_name example-b.com;

    location / {
        proxy_pass http://localhost:8081;  # 将请求转发到网站B的后端
        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;
    }
}

配置说明:

  1. listen:指定 Nginx 监听的端口,这里都是使用 HTTP 的默认端口 80。
  2. server_name:指定接受请求的域名。
  3. location /:表示匹配所有路径。
  4. proxy_pass:将流量转发到后端服务器。
  5. proxy_set_header:设置头部信息,以确保正确传递客户端的信息。

使用步骤:

  1. 将以上内容添加到你的 Nginx 配置文件中(通常位于 /etc/nginx/nginx.conf 或者 /etc/nginx/sites-available/default)。
  2. 保存配置文件并退出编辑器。
  3. 测试 Nginx 配置是否正确:
    
    sudo nginx -t
    
  4. 如果没有错误,重新加载 Nginx 服务:
    
    sudo systemctl reload nginx
    

这样就可以通过 http://example-a.comhttp://example-b.com 分别访问这两个不同的网站。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=20200

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?