zoukankan      html  css  js  c++  java
  • Http站点转Https站点教程

    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

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

  • 相关阅读:
    将数字转化为字符串
    给定一列数字将其平移n位
    判断回文数的问题
    c语言链表逆序的问题
    python中类属性和实例属性的区别
    python中__repr__()方法
    python中模块和包
    flask如何写一个model
    遍历文件夹下excel文件并且写入一个新excel
    python统计任务耗时
  • 原文地址:https://www.cnblogs.com/westsoft/p/9753589.html
Copyright © 2011-2022 走看看