通过二级域名解决1台云服务器搭建多个公众号后端服务的问题
最近遇到的一个问题是如果在1台云服务器上部署2个公众号后台,该怎么操作的问题。由于公众号服务器配置的特殊性,比如正确响应微信发送的Token验证,必须以http://或https://开头,分别支持80端口和443端口。在微信群中咨询了下,有人回复说可以使用二级域名的方式,现在将该思路整理成文档,可能每个人的情况不太一样,仅供参考。
一.申请云服务器并搭建环境
以腾讯云为例,一般都是选择云服务器,或者轻量应用服务器。操作系统选择Windows Server 2012R2。操作系统有了,接下来就是通过服务器管理器添加IIS服务器,然后安装数据库SQL Server 2016。最后是安装.NET、ASP.NET Core和IIS模块等,如下所示:
二.申请域名和申请备案
打开域名注册页面,在我的域名可以看到注册域名:打开网站备案页面,在我的备案页面根据引导和提示进行备案。提交相关资料,然后就是腾讯云审核,最后是管局审核:需要说明的是,如果相同公司已经备案过一次了,再次备案的时候需要上次备案的域名可以正常打开才行,否则腾讯云审核这关就过不了。
三.HTTPS和SSL证书
首先是申请免费证书,如下:在提交资料页面中,证书绑定域名可以是一级域名,也可以是二级域名:在验证域名页面中,需要根据提示手工添加记录:添加记录页面如下:然后回到验证域名页面中,验证成功如下:接下来就是下载IIS证书(文件夹格式是demo.xxx.com_iis,包括demo.xxx.com.pfx和keystorePass.txt这2个文件),点开服务器证书:根据提示进行证书导入操作:密码就是keystorePass.txt文件中的内容:接下来就是网站绑定操作如下:二级域名的解析需要在下图中手工添加一条记录:如果都配置好了,在证书监控SSLPod中可以看到这条记录状态是正常:如果出现HTTPS不能访问的情况,有一种可能是安全组端口配置问题:
四.公众号后台配置
公众号后台需要填写的URL是需要正确响应微信发送的Token验证,必须以http://或https://开头,分别支持80端口和443端口。因为使用HTTPS,所以只能使用443端口了:具体操作可以看这篇文章微信公众号OAuth2.0授权登录并显示用户信息。
参考文献:[1]无法使用HTTPS访问网站:https://cloud.tencent.com/document/product/400/53650[2]添加安全组规则:https://cloud.tencent.com/document/product/213/39740