阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Tomcat自动HTTPS跳转配置

190次阅读
没有评论

共计 1856 个字符,预计需要花费 5 分钟才能阅读完成。

为什么使用 HTTPS

简单说来使用 https 协议的网站,信息的传递是进行了加密的,即使被人截取了,也没法轻易知道里面的信息,所以被称为安全的。现在百度、淘宝这种大型网站都是自动跳转 https 连接了。
我呢,是觉得每次登陆自己的网站时 Chrome,Firefox 都提醒我建立了不安全连接,有点强迫症,感觉不爽,所以就想给网站加个 ssl 证书。

SSL 证书准备

申请途径有很多,我是在 腾讯云 上申请的免费的 DV SSL(免费,颁发快,只验证域名所有权,如果是用与 tomcat 下申请时一定要填密码),其他类型的一般都要收费,申请成功后下载下来会有一个 www.xxxx.com.jks 这种类型的文件,这就是 tomcat 需要的 jks 格式证书。
如果你从其他地方申请的,没有 jks,.crt(证书文件)和.key(私钥文件)肯定是有的,可以去 https://www.trustasia.com/tools/cert-converter.htm 转为 JKS 就行了(目标格式选择 JKS,密钥库密码一定要写,其他不用管,我也就转过一次,如果还有问题可以问问客服)

修改 server.xml

添加 Connector

进入 tomcat 下的 conf 文件夹,下面有个 server.xml 文件,修改此文件:
<Service name="Catalina"></Service> 中添加如下代码:

    <Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
    maxThreads="150" scheme="https" secure="true"
    keystoreFile="/opt/tomcat/apache-tomcat-8.5.12/conf/www.xxxxx.com.jks"
    ="xxxxxx"
    clientAuth="false" sslProtocol="TLS" />

参数说明

keystoreFile配置自己的 JKS 证书地址,可以使绝对地址也可以是相对地址。
keystorePass配置密钥。
clientAuth如果是 true 则只有安装了对应证书的计算机才能访问,如果是 false 则任何计算机都能访问。

修改 port=“80”的 Connector

<Connector port="80" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="443" />

redirectPort 指向 443 端口,也就是上面添加的 Connector 就行了。
也可以直接把之前的 port=“80”的 Connector 的相关参数配置得和 port=“443”的 Connector 一样,但是一般不这样做,因为这样不方便以后跟换 Connector 配置。

修改 web.xml

如上步骤完成后,只是可以用 https:// 开头访问对应网站,但是只输入 www.xxx.com 时,访问的还是 http://www.xxx.com, 不会自动变成https://www.xxx.com,要让 http 自动变成 https,还需要修改同目录下的 web.xml。
操作很简单,只需要在 </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>   

配置完成了,重启 tomcat 访问试试效果吧。

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-05/143311.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计1856字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中