HTTP访问协议转换成HTTPS

作者: 秦子帅 | 来源:发表于2019-10-10 14:03 被阅读0次

前言

最近打算写一款小程序,然后去小程序开发平台填写request合法域名,发现只支持https协议



于是尝试去把HTTP转换成HTTPS,首先说一下我的配置:

  • 阿里云服务器
  • 操作系统:CentOS 7.4 64位
  • Web服务器:Tomcat 9.+

详解

主要分为三个步骤:

  • 服务器配置域名,并备案
  • 购买SSL证书,下载证书
  • 上传并配置到服务器上
1.服务器配置域名,并备案

小程序不支持添加IP地址,必须是合法域名 ,所以需要我们去给购买域名并备案 , 具体方法我就说了, 网上很多。

2.购买SSL证书并下载

腾讯云,阿里云等平台有免费的证书,大家可以直接去申请一下
阿里云地址:https://www.aliyun.com/product/cas


选择免费的SSL证书,并绑定你的域名地址等待审核就好了,审核时间很快,成功后会提示你证书已签发。
然后我们点击下载:

选择对应的服务器下载:

我下载的是Tomcat服务器证书,并解压

里面包含了PFX格式证书文件和TXT格式密码文件, 需要注意的是每次下载都会有新的pfx-password ,是一一对应的。
3.上传并配置到服务器上

tomcat服务器中新建cert文件夹,并上传刚才下载的证书



打开Tomcat/conf/server.xml,在server.xml文件中找到以下参数并进行修改
(1).

 <Connector port="80" protocol="HTTP/1.1"    #端口可更改
               connectionTimeout="20000"
               maxHttpHeaderSize="8192"
               redirectPort="443" /> #将redirectPort修改为SSL默认端口443,让HTTPS请求转发到443端口。

(2).
找到一下参数:

    <Connector port="8443"
          protocol="org.apache.coyote.http11.Http11NioProtocol"
          maxThreads="150"
          SSLEnabled="true">
        <SSLHostConfig>
            <Certificate       certificateKeystoreFile="cert/keystore.pfx"
             certificateKeystorePassword="XXXXXXX"
                         certificateKeystoreType="PKCS12" />

把上面配置更改为:

    <Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
               maxHttpHeaderSize="8192"
               URIEncoding="UTF-8"
         
               maxThreads="150" SSLEnabled="true">
        <SSLHostConfig>
            <Certificate 
            certificateKeystoreFile="/usr/local/apache-tomcat-9.0.22/cert/yourname.pfx"   #你的证书路径
           certificateKeystorePassword="证书密码"   #你的证书密码 
           certificateKeystoreType="PKCS12" 
                          />
        </SSLHostConfig>
    </Connector>

主要添加你的证书路径和证书密码

(3).

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
#找到以上参数,去掉<!- - 和 - ->这对注释符并修改为如下参数:
<Connector port="8009" protocol="AJP/1.3" redirectPort="443" />  #将redirectPort修改为443,让HTTPS请求转发到443端口。

(4).在server.xml文件最底部添加以下内容,实现HTTP自动跳转为HTTPS

<security-constraint> 
         <web-resource-collection > 
              <web-resource-name >SSL</web-resource-name>  
              <url-pattern>/*</url-pattern> 
       </web-resource-collection> 
       <user-data-constraint> 
                    <transport-guarantee>CONFIDENTIAL</transport-guarantee> 
       </user-data-constraint> 
    </security-constraint>

最后保存文件修改,重启tomcat就可以了


希望对大家有所帮助!

大家可以关注我的微信公众号:「秦子帅」一个有质量、有态度的公众号!

公众号

相关文章

  • HTTP访问协议转换成HTTPS

    前言 最近打算写一款小程序,然后去小程序开发平台填写request合法域名,发现只支持https协议 于是尝试去把...

  • 快速理解https实现的原理

    快速理解https实现的原理 一、为什么要用https? http是在网络协议的应用层,用户通过http协议访问网...

  • HTTPS (三)

    HTTPS ****访问速度优化 Tcp fast open HTTPS 和 HTTP 使用 TCP 协议进行传输...

  • 搭建个人网站

    一.访问网站的过程 通过url访问 url包含的内容 http/https 访问的协议是 www.jianshu....

  • iOS 10 App Transport Security ha

    此问题原因为:App内访问网络请求,限制了http协议的访问,要采用 HTTPS 协议。 应用需要在“Info.p...

  • Https访问http

    1.加上 referrerpolicy="origin" 2.加上 meta 可以在相应的页面的 里加上这句代码,...

  • 白话https

    什么是https 浏览器访问web应用中使用到http协议和ssl或者tsl协议的组合称为https。https在...

  • 2018-10-19搭建个人网站

    一、访问网站额处理过程 通过url访问 1.http/https访问的协议2.www.jianshu.com访问的...

  • Http, Https协议

    # Http, Https协议 * 参考资料 * [HTTP](https://github.com/CyC20...

  • 协议(HTTP HTTPS)

    目的: OSI 七层模型通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯,因此其最主要的功能就是帮...

网友评论

    本文标题:HTTP访问协议转换成HTTPS

    本文链接:https://www.haomeiwen.com/subject/msknpctx.html