网站的Http请求转为Https请求

原创 2017年07月12日 13:49:18

一、申请Https证书

https://common-buy.aliyun.com/?spm=5176.2020520163.cas.1.zTLyhO&commodityCode=cas#/buy

二、安装证书

Tomcat支持JKS格式证书,从Tomcat7开始也支持PFX格式证书,两种证书格式任选其一。

文件说明:

  1. 证书文件214193373120488.pem,包含两段内容,请不要删除任何一段内容。

  2. 如果是证书系统创建的CSR,还包含:证书私钥文件214193373120488.key、PFX格式证书文件214193373120488.pfx、PFX格式证书密码文件pfx-password.txt。

1、证书格式转换

在Tomcat的安装目录下创建cert目录,并且将下载的全部文件拷贝到cert目录中。如果申请证书时是自己创建的CSR文件,附件中只包含214193373120488.pem文件,还需要将私钥文件拷贝到cert目录,命名为214193373120488.key;如果是系统创建的CSR,请直接到第2步。

到cert目录下执行如下命令完成PFX格式转换命令,此处要设置PFX证书密码,请牢记:

openssl pkcs12 -export -out 214193373120488.pfx -inkey 214193373120488.key -in 214193373120488.pem
2、PFX证书安装

找到安装Tomcat目录下该文件server.xml,一般默认路径都是在 conf 文件夹中。找到

<Connector port="8443"
    protocol="HTTP/1.1"
    SSLEnabled="true"
    scheme="https"
    secure="true"
    keystoreFile="cert/214193373120488.pfx"
    keystoreType="PKCS12"
    keystorePass="证书密码"
    clientAuth="false"
    SSLProtocol="TLSv1+TLSv1.1+TLSv1.2"
    ciphers="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256"/>

3、JKS证书安装(帮助)

( 1 ) 使用java jdk将PFX格式证书转换为JKS格式证书(windows环境注意在%JAVA_HOME%/jdk/bin目录下执行)

keytool -importkeystore -srckeystore 214193373120488.pfx -destkeystore your-name.jks -srcstoretype PKCS12 -deststoretype JKS
回车后输入JKS证书密码和PFX证书密码,强烈推荐将JKS密码与PFX证书密码相同,否则可能会导致Tomcat启动失败。

( 2 ) 找到安装 Tomcat 目录下该文件Server.xml,一般默认路径都是在 conf 文件夹中。找到

<Connector port="8443"
    protocol="HTTP/1.1"
    SSLEnabled="true"
    scheme="https"
    secure="true"
    keystoreFile="cert/your-name.jks"
    keystorePass="证书密码"
    clientAuth="false"
    SSLProtocol="TLSv1+TLSv1.1+TLSv1.2"
    ciphers="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256"/>

( 注意:不要直接拷贝所有配置,只需添加 keystoreFile,keystorePass等参数即可,其它参数请根据自己的实际情况修改 )

4、 重启 Tomcat。

5、 通过 https 方式访问您的站点,测试站点证书的安装配置,如遇到证书不信任问题,请查看帮助视频。

三、域名或者“http://”强制跳转到“https://服务”

1.在tomcat里找到conf文件夹下的web.xml文件
2. 找到如下代码片段(在最下面)

 <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
 </welcome-file-list>

3.在 /welcome-file-list 下面添加

 <login-config>
 <!-- Authorization setting for SSL -->
 <auth-method>CLIENT-CERT</auth-method>
 <realm-name>Client Cert Users-only Area</realm-name>
 </login-config>
 <security-constraint>
<!-- Authorization setting for SSL -->
 <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>
版权声明:博主地址:http://blog.csdn.net/zcl_love_wx

HTTP转HTTPS实现

HTTP转HTTPS实现
  • lsj19830812
  • lsj19830812
  • 2010年07月12日 16:55
  • 51352

http站点转https站点教程

http站点转https站点的教程网上有很多,这里我先谈谈自己遇到的坑。 首先我用的是阿里云服务器。站点是http,最近在接触微信小程序wx.request接口时,发现站点必须是https。求学心切,...
  • qq_19558705
  • qq_19558705
  • 2017年03月07日 22:00
  • 5496

Tomcat配置https及访问http自动跳转至https

https介绍:    HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTT...
  • bao19901210
  • bao19901210
  • 2013年04月07日 16:38
  • 46011

http 转 https

1. 首页通过JS直接跳转   var   a=location.href;  var   b=a.substring(5);  var   a=a.substring(0,5);  ...
  • jesseshen
  • jesseshen
  • 2011年08月14日 11:01
  • 7583

如何将HTTP站点转换成HTTPS、及后续问题

文章来源:http://www.chinaz.com/web/2015/0325/393194.shtml https及https的本地测试环境搭建。asp.net结合https的代...
  • aosica321
  • aosica321
  • 2016年12月14日 21:32
  • 1103

IIS 7如何实现http重定向https

在不少的企业当中,网站设计出于安全的考虑使用了https协议,但同时公司也开放了80协议,不少用户因为输入网址的习惯不喜欢带上https协议,导致访问异常。最近一个客户也要求我帮助解决这个问题,客户的...
  • xuhuojun
  • xuhuojun
  • 2011年01月14日 02:47
  • 36242

如何把你的http访问的页面转换成ssl支持的https访问

  • 2008年03月04日 13:09
  • 223KB
  • 下载

javaWeb 项目Http转Https

1.在Tomcat中添加如下代码
  • xinghe_wang
  • xinghe_wang
  • 2017年03月26日 20:46
  • 4451

实现网站由http协议转为https协议

听说ios9更新之后数据接口就必须是https数据传输协议,所以就研究了下如何将http转为https 先了解下https: HTTPS 是以安全为目标的 HTTP 通道,即 HTTP 下加入...
  • momo_mutou
  • momo_mutou
  • 2015年08月07日 13:55
  • 5640

前段跨域 https到http请求

前段 https的站点(https://www.baidu.com) 向http(http://zi.baidu.cn)发送请求 问题1:https安全连接向http非安全连接发送请求 解...
  • u010286334
  • u010286334
  • 2017年04月17日 16:37
  • 3704
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:网站的Http请求转为Https请求
举报原因:
原因补充:

(最多只允许输入30个字)