Nginx配置多域名代理

本文介绍如何在一个IP地址上配置Nginx以支持多个不同域名的站点。通过设置不同的server_name属性,实现同一端口上针对不同域名代理不同站点的功能。适用于只有单个公网IP但需要支持多个站点的场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目的

当我们有多个站点需要对外网开放,每个站点的域名都不一样,然而我们只有一个外网ip。这种情况下,我们就可以使用一个nginx来配置多域名代理。这种代理方式可以解决,在同一个端口上针对不同域名代理不同的站点。这样对外看起来就像是有多台机器同时对外开发一样。

操作步骤

  1. 进入nginx安装目录下的sites-enabled目录
  2. 一般刚安装好的的nginx可以在该目录下看到default配置文件,该文件可以用作配置文件模板,同时该文件做了最基本的监听80端口
  3. 拷贝一份文件用于监听新的域名,如监听:tech.abc.com。命令为:
root@test:/etc/nginx/sites-enabled# cp default tech
  1. 修改该配置的监听域名:
root@test:/etc/nginx/sites-enabled# vi tech

## 进入编辑页面
## 将server_name的属性改为: tech.abc.com

server_name tech.abc.com

## 退出 ESC :wq
  1. 重载配置
root@test:/etc/nginx/sites-enabled# nginx -s reload
  1. 如果需要再配置一个test.abc.com或者其他域名, 只需要再拷贝一个配置文件,修改server_name,然后重载配置文件即可

注意

阿里云等云服务器提供商对nginx代理做了限制,如果所代理的站点未备案,则不允许进行代理。解决这个问题的方案,可以使用国外的服务器来做nginx代理服务器,不过这个方案的速度相对较慢。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值