首页 > 其他分享 >IIS服务器多站点多域名同时部署多个不同SSL证书HTTPS实现方法 当一个https的请求到达IIS服务器时

IIS服务器多站点多域名同时部署多个不同SSL证书HTTPS实现方法 当一个https的请求到达IIS服务器时

时间:2023-11-17 19:23:16浏览次数:31  
标签:请求 IIS 证书 SSL https 服务器 服务器时

IIS服务器多站点多域名同时部署多个不同SSL证书HTTPS实现方法

当一个https的请求到达IIS服务器时,https请求为加密状态,需要拿到相应的服务器证书解密请求。由于每个站点对应的证书不同,服务器需要通过请求中不同的主机头来判断需要用哪个证书解密,然而主机头作为请求的一部分也被加密。最终IIS只好使用第一个绑定到该IP:PORT的站点证书解密请求,从而有可能造成对于其他站点的请求失败而报错。

解决方法如下:

  1. 第一种解决方案将每个https站点绑定到不同的端口。但是这样的话客户端浏览网页时必须手动指定端口,例如 https://site.domain.com:444
  2. 第二种解决方案是为每个站点分配一个独立的ip,这样冲突就解决了,甚至主机头也不用添加了。
  3. 第三种解决方案是使用通配证书。我们采用通配证书颁发给.domain.com,对于我们的示例中,应该采用颁发给.marei.com的证书,这样任何访问该domain的请求均可以通过该证书解密,证书匹配错误也就不复存在了。
  4. 第四种解决方案是升级为IIS8,IIS8中添加的对于SNI(Server Name Indication)的支持,服务器可以通请求中提取出相应的主机头从而找到相应的证书。

方案分析:

方案1明显不太现实,我们不能让用户在访问我们的网站时还要指定端口号,一来不太好记,二来用户体验不好;

方案2虽然可行,但由于我们使用的是阿里云的服务器,是固定IP,没办法再给服务器再分配一个IP,故该方案不适合我们的场景;

方案3虽然可行,但我们使用的是域名型SSL证书,而且要购买通配型SSL证书的话,价格也比较贵,故该方案不适合我们的场景;

方案4,我们使用的服务器安装的操作系统是Windows Server 2012 R2,而该系统预装的就是IIS8,不是IIS8的可以自行升级为IIS8,在IIS8中,因为添加了对SNI的支持(具体概念及原理,读者可自行查阅相关资料,这里就不多说),所以可以很方便的解决我们所面临的问题。

现在就方案4做一下具体使用说明:

安装服务器证书,进入IIS,点击主机名,选择服务器证书,如下图:

点击右侧导入,如下图:

选择自己的证书文件,确定即可:

添加网站绑定,如下图

注意:类型选择https,端口号输入443,主机名填写自己的域名,“需要服务器名称只指示”前面的勾选框必须勾选,这个是解决问题的关键,SSL证书选择自己网站的证书(这里的选项是之前导入的证书);
6.确定后,该网站SSL证书绑定成功,可以使用https访问该网站,同样的方式,你需要配置另外一个网站(PS:除过主机名和SSL证书不一样外,其他配置都是一样的);
7.至此,两个网站都已配置成可以使用https访问;
8.测试是否成功:浏览器地址栏输入你要访问的地址:如https://www.domain.com,
如果浏览器中两个网站地址栏呈现类似以下状态,则配置成功:

如果一步一步操作到这里,那么恭喜你,你已经解决了这个问题。

标签:请求,IIS,证书,SSL,https,服务器,服务器时
From: https://www.cnblogs.com/liweigang/p/17839517.html

相关文章

  • https和http的区别和优势
    大家好,我是咕噜-凯撒,HTTP(超文本传输协议)和HTTPS(安全超文本传输协议)是用于在网络上传输数据的协议,HTTPS相比HTTP在数据传输过程中更加安全可靠,适合对数据安全性要求较高的场景,如网上银行、电子商务等。所以在涉及到用户隐私信息和支付信息的网站中,都会采用HTTPS协议来保护数据安全。......
  • 安装 IIS 访问临时文件夹 C:\WINDOWS\TEMP\3C 读取/写入权限 错误: 0x80070005
    在windows中使用命令行方式安装IIS(Web服务器)WindowsServer2022安装IIS报错访问临时文件夹C:\WINDOWS\TEMP\3C读取/写入权限错误:0x80070005,可以使用命令行方式来安装和配置Web服务(IIS)。以下是使用DeploymentImageServicingandManagement(DISM)工具的步骤:1.打......
  • IIS中SSL证书过期更新的问题
    小程序访问后端接口报超时错: 查看证书已过期,如下:更新证书步骤如下:云服务器上下载最新有效期内证书: 下载下来的是压缩包,里面包含一个证书文件*.pfx和一个密钥文件*.txt,复制到服务器上备用。打开IIS服务管理器,点击计算机名称,双击‘服务器证书’ 双击打开服务器证书后......
  • Chrome浏览器导出HTTPS证书
    点证书小锁无效证书也可以导出进入证书界面到详情中,导出证书......
  • HTTP和HTTPS区别
    1、HTTP是明文传输,不安全。HTTPS是加密传输,更安全,有效防止数据被第三方篡改,但是双方加解密也带来了更多的资源消耗。2、HTTP标准端口是80,HTTPS标准端口是443.3、HTTP不用认证证书,HTTPS需要认证证书(要钱)4、连接方式不同,HTTP三次握手,HTTPSLTS1.2版本7次,HTTPSLTS1.3版本6次。......
  • SQLSERVER 2016新建订阅,连接发布服务器时报错“设置连接字符串后无法更改或读取属性 P
    被此问题困扰许久,查遍全网也没有查到合适的解决方案。特此记录,希望帮到需要的人。SQLSERVER2016新建订阅,连接发布服务器时报错“设置连接字符串后无法更改或读取属性Password。(Microsoft.SqlServer.ConnectionInfo)”===================================设置连接字符串......
  • Charles抓https包内容显示乱码
    抓https包内容显示乱码原因:1.在电脑上安装SSL证书。2.要在模拟器或移动设备(手机、平板)安装SSL证书。3.Android7以前安装证书后就可以正常抓包;Android7以后,需要把证书添加到系统证书才行。4.有些APK会检查是否有Charles这类抓不包软件,如果有就跳过用。......
  • 一步一步实现kbmmw的httpsys使用https功能
    感谢xalion,为我们详细写的文档《一步一步实现kbmmw的httpsys使用https功能》,以下为原文:kbmmw的httpsys的功能已经实现了好长时间,但是现在各个平台都要求使用https来提供服务。今天一步一步来说一下如何使用kbmmw 的httpsys功能支持https.首先为了获得证书,我们可以使用阿里云申请一......
  • requests 2.13.0 版本的 https 连接慢漏提示
    解决方案requests2.13.0版本的https连接慢漏问题问题背景:在使用requests2.13.0版本时,发现存在一个缓慢的泄漏问题。这个问题只在使用https连接时出现。经过调查,发现这个问题与pyOpenSSL的使用有关。在使用pyOpenSSL与requests2.13.0版本时,存在一个泄漏问题,而在移除pyOpenSSL......
  • 创建自己的https证书(转)
    使用mkcert工具创建证书1、下载mkcert工具,下载地址如下:​​ ​mkcert工具下载​​百度下载:链接:​ ​https://pan.baidu.com/s/10ym5W91g612LDk3t9isFGQ ​​提取码:12342、解压后运行https本地证书生成工具.bat(文件上点鼠标右键,以管理员身份运行) 生成的证书在C:\Users\cx......