当一个https的请求到达IIS服务器时,https请求为加密状态,需要拿到相应的服务器证书解密请求。由于每个站点对应的证书不同,服务器需要通过请求中不同的主机头来判断需要用哪个证书解密,然而主机头作为请求的一部分也被加密。最终IIS只好使用第一个绑定到该IP:PORT的站点证书解密请求,从而有可能造成对于其他站点的请求失败而报错。
在IIS8中添加的对于SNI(Server Name Indication)的支持,服务器可以通请求中提取出相应的主机头从而找到相应的证书。
微资讯,简站长
当一个https的请求到达IIS服务器时,https请求为加密状态,需要拿到相应的服务器证书解密请求。由于每个站点对应的证书不同,服务器需要通过请求中不同的主机头来判断需要用哪个证书解密,然而主机头作为请求的一部分也被加密。最终IIS只好使用第一个绑定到该IP:PORT的站点证书解密请求,从而有可能造成对于其他站点的请求失败而报错。
在IIS8中添加的对于SNI(Server Name Indication)的支持,服务器可以通请求中提取出相应的主机头从而找到相应的证书。
一、 生成证书请求
1. 下载CSR生成工具
您需要使用CSR生成工具来创建证书请求。
下载AutoCSR:
http://www.itrus.cn/soft/autocsr.rar
2. 生成服务器证书私钥及证书请求
运行AutoCSR.bat文件,按照操作提示填写证书注册信息。
以下是示例信息:
通用名(域名): test.itrus.com.cn
组织名称: iTrus China Co.,Ltd.
部门名称: VTN Support
省市名称: Beijing
市或区名: Beijing
1、确认需要申请证书的域名
2、生成私钥和csr文件
在linux机器上执行以下命令生成私钥
#openssl genrsa -out server.key 2048
在linux机器上执行以下命令生成csr文件
#openssl req -new -key server.key -out certreq.csr
以下黑色标识文字仅供参考,请根据商户自己实际情况进行填写
Country Name: CN //您所在国家的ISO标准代号,中国为CN
State or Province Name:guandong //您单位所在地省/自治区/直辖市
Locality Name:shenzhen //您单位所在地的市/县/区
Organization Name: Tencent Technology (Shenzhen) Company Limited //您单位/机构/企业合法的名称
微信小程序强制所有接口必须使用https进行访问,但是服务器配置好证书之后,使用IDE可以正常访问,但是使用真机就一直报错(ios和andriod都会)。显示request fail 未能完成操作。KCFErrorDomainCFNetwork 错误301.