两个不同域名共用同一套网站配置的操作方法
笔者以1Panel(OpenResty)为例,不是必须要新建反向代理。有两种方式,选哪种取决于你想不想让两个域名共用同一套网站配置。
方案A:在同一个网站里加域名(推荐,最省事)
适用于两个域名指向同一个后端/内容的场景。
进入网站→找到该网站→域名管理(或创建时就是多域名),把新域名加进去,比如原来a.com,新增b.com。
进入该网站→HTTPS→申请证书,申请时把两个域名都勾选上(勾选a.com、b.com,需要www的话把www.a.com、www.b.com也勾上),生成一张SAN多域名证书。
在同一页启用HTTPS并选择这张证书。
这样两个域名共用同一个serverblock、同一份反向代理规则,只需启用一次HTTPS,两个域名都自动生效,还会有http→https跳转。证书只维护一张。
方案B:新建一个网站做反向代理(也可行)
适用于你想给新域名单独配置(不同的反代目标、缓存、访问控制等)。
新建网站→类型选反向代理→主域名填新域名→代理地址填http://127.0.0.1:你的端口(和旧网站同一个后端端口即可)。
进入新网站→HTTPS→申请一张包含新域名(及其www)的证书→启用。
关于「两个域名都反代同一个端口」
完全可行,这是OpenResty/Nginx的标准行为。
多个网站可以同时监听443,靠SNI+server_name区分流量,谁的域名进来就走谁的serverblock。
反向代理的目标端口(127.0.0.1:xxxx)只是OpenResty作为客户端去请求后端,前端几个域名、几套serverblock,跟后端端口是1:1还是N:1没有关系,N个域名指向同一个后端端口毫无问题。
几个必须注意的点
DNS先解析:新域名(含www如需)A记录必须已指向该VPS的IP,否则申请Let'sEncrypt证书时会因为HTTP-01验证失败而签不出证书。
80端口要能访问:证书签发走80端口验证,确保80没被别的东西占用/拦截。
根域名不同也能放一张证书:Let'sEncrypt支持一张证书含多个不同根域名,方案A直接勾选即可,没有限制。
若两个域名内容不同:那就必须走方案B(各自独立网站),否则方案A会共享同一份配置。
结论:你想省心就选方案A(同网站加域名+一张多域名证书);想独立配置就选方案B(新建反向代理网站)。两种方式下,多个域名反代到同一个后端端口都是没问题的。
- 点赞
- 收藏
- 关注作者
评论(0)