Tomcat配置https协议、以及http协议自动REDIRECT到HTTPS

在命令提示符窗口,进入Tomcat目录,执行以下命令: 
keytool -genkey -alias tomcat -keyalg RSA -keypass changeit -storepass changeit -keystore server.keystore -validity 3600 
通过以上步骤生成server.keystore证书文件 

将servlet.xml一下的的注释打开
   

                     port="8443" maxHttpHeaderSize="8192"   
           maxThreads="150" minSpareThreads="25" maxSpareThreads="75"   
           enableLookups="false" disableUploadTimeout="true"   
           acceptCount="100" scheme="https" secure="true"   
           clientAuth="false" sslProtocol="TLS"                    
           keystoreFile="server.keystore"     
           keystorePass="changeit"/>  
到这一步访问https://ip:8443/ 

一般Tomcat默认的SSL端口号是8443,但是对于SSL标准端口号是443,这样在访问网页的时候,直接使用https而不需要输入端口号就可以访问,如https://ip/ 
想要修改端口号,需要修改Tomcat的server.xml文件: 
1.non-SSL HTTP/1.1 Connector定义的地方,一般如下: 
    
                maxThreads="500" minSpareThreads="25" maxSpareThreads="75" 
                enableLookups="false" redirectPort="443" acceptCount="100" 
                connectionTimeout="20000" disableUploadTimeout="true" /> 
将其中的redirectPort端口号改为:443 
2.SSL HTTP/1.1 Connector定义的地方,修改端口号为:443,如下: 

   port="443" maxHttpHeaderSize="8192" 
   maxThreads="150" minSpareThreads="25" 
   maxSpareThreads="75" 
   enableLookups="false" 
   disableUploadTimeout="true" 
   acceptCount="100" scheme="https" 
   secure="true" 
   clientAuth="false" sslProtocol="TLS" 
   keystoreFile="conf/tomcat.keystore" 
   keystorePass="123456" /> 
3.AJP 1.3 Connector定义的地方,修改redirectPort为443,如下: 
    
                enableLookups="false" redirectPort="443" protocol="AJP/1.3" /> 

重新启动Tomcat就可以了。到这一步可以形成访问方式 https://ip/

4、强制https访问

  在tomcat\conf\web.xml中的后面加上这样一段:

  
      
    CLIENT-CERT  
    Client Cert Users-only Area  
  
  
      
      
        SSL  
        /*  
      
      
        CONFIDENTIAL  
      
 

注意:(如果对方使用的机器端口被占用)

需要切换端口来转换数据:iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080






你可能感兴趣的:(服务器应用)