做站久了,最怕遇到这种需求。
客户甩过来两个域名,非要绑同一个IP。
还都要上HTTPS,绿锁必须亮。
很多新手这时候就懵了。
以为要买两个IP,或者搞什么复杂的反向代理。
其实根本不用那么麻烦。
IIS早就支持SNI技术了。
只要你的系统是Win2012及以上。
这事儿就能轻松搞定。
别听那些卖软件的瞎忽悠。
他们就是想多收你几千块代理费。
今天我就把底裤都扒给你看。
纯手工操作,零成本。
首先,你得去搞证书。
现在Let's Encrypt免费证书满天飞。
用Certify The Web这工具。
一键申请,自动续期。
比那些每年几百块的DV证书香多了。
记住,别去阿里云腾讯云买那种便宜的。
除非你懒得折腾。
不然免费的不香吗?
接下来是重头戏。
打开IIS管理器。
找到你的网站列表。
假设你有site1和site2。
它们共用80和443端口。
这时候你会看到冲突。
因为默认情况下,443只能绑一个证书。
这时候SNI就派上用场了。
在IIS里,有个选项叫“启用服务器名称指示”。
这个选项在绑定设置里。
点开你的443端口绑定。
你会看到“要求服务器名称指示”这个勾。
一定要打上!
不然浏览器会报错。
说证书不匹配。
然后,分别给两个网站添加绑定。
site1绑定域名A,选证书A。
site2绑定域名B,选证书B。
注意,IP地址都填0.0.0.0或者服务器IP。
端口都是443。
关键来了。
很多人在这步出错。
他们忘了勾选那个SNI选项。
导致访问其中一个网站时。
另一个网站的证书跳出来。
这就尴尬了。
绿锁变红,信任感全无。
客户能把你骂死。
所以,检查绑定列表。
确保每个443绑定都开启了SNI。
如果不开启,IIS会默认把第一个绑定的证书给所有请求。
这就是为什么很多人说IIS做SSL坑多。
其实只是没搞懂SNI原理。
除了IIS配置,还得改hosts测试。
本地测试的时候。
记得改C:\Windows\System32\drivers\etc\hosts文件。
不然你浏览器缓存会害了你。
清缓存,清DNS。
不然你以为配好了。
结果还是旧的证书。
这就很搞心态。
还有个小细节。
HTTP强制跳转HTTPS。
每个网站都要单独配置URL重写规则。
别偷懒,别共用。
因为每个网站的域名不同。
重定向的目标URL也不一样。
写错了就是死循环。
或者404错误。
到时候客户问你。
你只能尴尬地挠头。
再说说性能问题。
有人担心SNI会不会影响速度。
其实完全没影响。
握手过程多了一点点域名验证。
但现在的CPU,这点开销忽略不计。
除非你服务器是十年前的老爷机。
那建议还是换服务器吧。
别在这纠结。
最后,提醒一点。
旧版浏览器不支持SNI。
比如IE6,IE8在Win7上。
这些用户现在基本绝迹了。
不用太在意。
但如果你的客户是政府或国企。
可能还得照顾一下老系统。
那时候就只能买IP了。
或者用Nginx做反向代理。
但那是后话。
对于绝大多数中小企业。
IIS原生SNI完全够用。
省下的钱,请团队喝杯奶茶不香吗?
别被那些所谓的“专业教程”吓到。
很多时候,问题没那么复杂。
只是你没找到正确的开关。
这次操作完,记得重启IIS。
虽然不一定必要,但稳妥起见。
重启一下,让配置生效。
然后打开浏览器,输入域名。
看看绿锁是不是亮了。
如果亮了,恭喜你。
你又省了一笔冤枉钱。
如果没亮,检查证书是否过期。
或者绑定是否搞混。
实在不行,找我。
我不收费,但得请我吃饭。
哈哈,开个玩笑。
建站这条路,坑确实多。
但只要多积累经验。
这些坑都能变成垫脚石。
希望这篇干货能帮到你。
如果有疑问,评论区见。
别藏着掖着,大家一起进步。
毕竟,独乐乐不如众乐乐。
好了,我去搬砖了。
祝你的网站流量蹭蹭涨。
SEO排名稳稳的。
别再为SSL证书头疼了。
搞定它,然后继续搞钱。
这才是正经事。
本文关键词:iis两个网站做ssl