阿里云 配置单SLB实现多域名HTTPS访问

问题描述:公司使用了阿里云的SLB,所有的域名都解析在了SLB的公网IP上,现在有一个域名api.devkeep.com需要使用https,所以去阿里云证书申请了一个免费的证书给这个域名进行绑定,所以api.devkeep.com的域名就第一个给SLB的公网IP进行绑定了,从而导致,别的使用https的域名没法在正常使用自己申请的证书了,具体报错如下:

  阿里云 配置单SLB实现多域名HTTPS访问

 

所以针对此情况,要么我们可以更改自己的SLB

阿里云 配置单SLB实现多域名HTTPS访问

把http和https的监听都给删除使用TCP监听,这样就可使每个域名都可以单独在nginx中配置,file.devkeep.com就不会受api.devkeep.com的影响了。

可能是阿里云已经考虑到这一家点了,在阿里云的SLB配置中多了一项是SNI

阿里云 配置单SLB实现多域名HTTPS访问

具体的配置就是,先在下图的管理证书页面先把你需要的域名证书给导进去

阿里云 配置单SLB实现多域名HTTPS访问

然后配置扩展域名管理,将域名和证书给加进去

然后配置转发策略这个主要是配置下面的端口为80 

阿里云 配置单SLB实现多域名HTTPS访问

不能配置为443如果配置为443的话会报下面的错误

阿里云 配置单SLB实现多域名HTTPS访问

而这个错误引起的源原因是:

client---https----SLB(SNI七层转发)-----http-----RS(443端口)

所以在转发策略那块后端端口必须配置成80

这样就可以实现要求了