基于aliyun服务器,tomcat配置ssl证书

基于aliyun服务器,tomcat配置ssl证书

[toc]

申请DV SSL免费证书(按阿里云流程即可)

  1. 证书服务
  2. 购买证书
  3. 购买免费1年DV SSL证书
  4. 绑定域名
  5. 补全信息

域名验证方式,一种是DNS验证(域名DNS解析自动生成CNAME记录),一种是文件验证(手动上传文件到指定目录)

  1. 签发后下载 7.0支持pfx, 7.0以后用java jdk将PFX格式证书转换为JKS格式证书

配置tomcat server文件

http端口默认80 https端口默认443

tomcat6

  1. 使用java jdk将PFX格式证书转换为JKS格式证书(windows环境注意在%JAVA_HOME%/jdk/bin目录下执行)
keytool -importkeystore -srckeystore 214040351970175.pfx -destkeystore your-name.jks -srcstoretype PKCS12 -deststoretype JKS

2.server.xml 配置

<Connector port="80" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="443" /> 
               
<Connector port="8443"
    protocol="HTTP/1.1"
    SSLEnabled="true"
    scheme="https"
    secure="true"
    keystoreFile="cert/your-name.jks"
    keystorePass="your-password"
    clientAuth="false"
    ciphers="TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256"
    SSLProtocol="TLSv1+TLSv1.1+TLSv1.2"
    SSLCipherSuite="ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4"/>

    
 <Connector port="8009" protocol="AJP/1.3" redirectPort="443" />

tomcat7/8 通用

  <Connector port="80" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="443" /> 
               
               
 <Connector port="443"
    protocol="HTTP/1.1"
    SSLEnabled="true"
    scheme="https"
    secure="true"
    keystoreFile="cert/your-name.pfx"  //pfx证书
    keystoreType="PKCS12"
    keystorePass="your-password"           //密钥
    clientAuth="false"
    ciphers="TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256"
    SSLProtocol="TLSv1+TLSv1.1+TLSv1.2"
    SSLCipherSuite="ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4"/>
    
    
 <Connector port="8009" protocol="AJP/1.3" redirectPort="443" />

修改web.xml文件

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

将 URL 映射设为 /* ,整个应用都要求是 HTTPS 访问,而 transport-guarantee 标签设置为 CONFIDENTIAL 以便使应用支持 SSL。将 CONFIDENTIAL 改为 NONE 关闭 SSL。

cdn配置https

  1. 在阿里云CDN的基本信息中, 找到https安全加速, 点击编辑按钮.
  2. 使用文本编辑器打开之前下载xxx.pem文件, 将文件的内容copy到证书内容文本框内.(注意去掉—–END CERTIFICATE—–与—–BEGIN CERTIFICATE—–之间的换行符)
  3. 使用文本编辑器打开之前下载xxx.key文件, 将文件的内容copy到私钥文本框内
  4. 建议跳转类型设置为默认, 这样保证在程序完全切换完成之前兼容性.
  5. 保存了之后, 使用https去访问任意的一个静态资源, 测试看是否正常.

前端修改

请求文件链接

1.加载资源时, 去掉显式指定访问协议的部分,这样浏览器就能根据主页面协议类型来自动选择HTTP/HTTPS资源 例如:

<img src="http://static.example.com/banner.jpg" />
<!-- 调整为 -->
<img src="//static.example.com/banner.jpg" />
  1. 或者可以通过upgrade-insecure-requests这个CSP 指令, 强制让页面上所有的http访问转换为https访问
在服务器的响应头中加入:
header("Content-Security-Policy: upgrade-insecure-requests");

或者页面中加入 meta 头:
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests" />

具体说明

第三方接口修改

转载于:https://my.oschina.net/u/2500836/blog/1536090

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值