https://blog.csdn.net/tanga842428/article/details/79273226

Http站点转Https站点教程

原文地址:http://blog.csdn.net/qq_19558705/article/details/60756689

 

http站点转https站点的教程网上有很多,这里我先谈谈自己遇到的坑。

首先我用的是阿里云服务器。站点是http,最近在接触微信小程序wx.request接口时,发现站点必须是https。求学心切,立马踏上了不归之路。

网上看到的第一篇博客:http://blog.chinaunix.net/uid-28559065-id-3489955.html 按照文章内容,成功的生成了证书,可文章中并没有介绍如何使用该证书 .

在网上再找了一篇博客: http://blog.csdn.net/gane_cheng/article/details/53001846 在文章后面介绍如何使用证书,同时也介绍到自己生成的证书存在的问题:

1. 网站上有危险标识,

2.部分非https的javascript不能加载,

3.移动端打开空白页面。

证书,我选择的是阿里云盾的证书(https://www.aliyun.com/product/cas),突入眼帘的是4000RMB。不要被价格吓到,专业版OV SSL 旁边有一个 免费型DV SSL可供选择。

购买后补全信息的流程,网上是有教程的(http://www.chinaz.com/web/2017/0105/639110.shtml 此篇博客的第七点,我没有用上) 

补全信息的过程中主要有三点需要注意 :

1.请选择 文件认证,

2.请选择CSR自动生成 ,

3.信息补全后一定要按照要求把验证文件上传到服务器。

大概一天时间内,证书状态会从“审核中”更新为“已签发”。 操作中选择下载,并根据提示完成操作。

我选择的是tomcat,在操作的过程中,JKS证书按照这步没有做。

需要注意的是:文档中很明确的提示“不要直接拷贝所有配置,只需添加 keystoreFile,keystorePass等参数即可,其它参数请根据自己的实际情况修改” (我就是全部copy的,导致后面一直访问不通)。
一切配好后,感觉是不是要over了。错!这才是恶梦的开始。 
首先是端口问题,访问是需要添加8443的端口。正常的域名是不建议添加端口,而且微信小程序api文档中也明确要求不能带端口。
查阅相关文档后发现https默认端口是443,tomcat为了区分才改成8443。知道这点后便很好解决。在server.xml中修改端口后便正常了。(http默认端口是80)
本以为万事大吉,却发现从百度搜索关键字,点击后不能正常显示页面,而是空白页面(心瞬间凉了一截)。网上找了一篇关于 http 跳转 https的博客,完美解决问题。http://blog.csdn.net/bao19901210/article/details/8768362
在原来的基础上主要修改了 redirectPort 改为443 ; keystoreFile 和 keystorePass就填自己的 port为443;

 

[html] view plain copy
 
 
 
  1. <Connector port="80" protocol="HTTP/1.1"  
  2.                connectionTimeout="20000"  
  3.                redirectPort="443" URIEncoding="UTF-8"  
  4.                compression="on"  
  5.                compressionMinSize="2048"  
  6.                noCompressionUserAgents="gozilla,traviata"  
  7.                compressableMimeType="text/html,text/xml,text/css,application/javascript,text/plain" />  

 

 

 

[html] view plain copy
 
 
 
  1. <Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol"  
  2.                maxThreads="150" SSLEnabled="true" scheme="https" secure="true"  
  3.                clientAuth="false" sslProtocol="TLS"  
  4.                keystoreFile=".pfx"  
  5.                keystoreType="PKCS12"  
  6.                keystorePass="" />  
  7.   
  8.   
  9.     <!-- Define an AJP 1.3 Connector on port 8009 -->  
  10.     <Connector port="8009" protocol="AJP/1.3" redirectPort="443" />  

 

 

阿里官网快速入门文档:https://help.aliyun.com/document_detail/28549.html?spm=5176.doc28550.6.553.MDDfx6

以上便是全部内容,可能我对这块比较薄弱,感觉很吃力吧。此博客仅供学习,造成的任何损失概不负责。