Tomcat

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > Tomcat > tomcat9(https)与IDEA的配置

tomcat9(https)与IDEA的配置实践

作者:笑锝没心没肺

本描述概括了生成Tomcat证书的过程,包括使用keytool工具生成证书及配置Tomcat服务器使用HTTPS,确保网站安全传输

一.  创建tomcat证书

这里使用JDK自带的keytool工具来生成证书:

1. 在jdk的安装目录\bin\keytool.exe下打开keytool.exe

2. 在命令行中输入以下命令

keytool -genkeypair -alias "tomcat" -keyalg "RSA" -keystore "g:\tomcat.keystore"  

以上命令将生产一对非对称密钥和自我签名的证书g:\tomcat.keystore

注意:“名字与姓氏”应该是域名,输成了姓名,和真正运行的时候域名不符,会出问题

这里我输入的密码是123456,  域名是以tomcat为例,  省市以广东深圳为例

keytool工具介绍

二. 配置tomcat服务器

 定位到tomcat服务器的安装目录, 找到conf下的server.xml文件

<!--
     <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
                maxThreads="150" scheme="https" secure="true"
                clientAuth="false" sslProtocol="TLS" />
     -->

去掉注释,修改为:

<Connector port="8443"  protocol="HTTP/1.1" SSLEnabled="true"
               maxThreads="150" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS"
        keystoreFile="/home/weblogic12/apache-tomcat-cnooc/ssh/tomcat.keystore"
        keystorePass="changeit" />

三. 启动tomcat服务器

在浏览器中输入: https://localhost

修改web.xml文件

Http自动跳转Https

①编辑conf/web.xml文件

②在web.xml末尾加上如下配置,直接在节点下和同级:

<!--开启http强制跳转https访问-->
      <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>

修改sever.xml文件

修改非SSL连接器的请求跳转到SSL连接器上,修改如下配置:

原来为:
    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
修改为:
    <Connector port="80" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="443" />

1、将默认8080端口修改为80端口,访问时就不需要加8080端口了,因为HTTP协议默认走的是80端口

2、将8443端口修改为443端口,意思是来自80端口的请求都跳转至443端口

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文