jboss tomcat 配置https请求方式

  1. 生成keystore,在打开终端,在命令行中输入keytool -genkey -alias jboss -keyalg RSA, 根据提示输入相应的信息就可以生成keystore证书,需要注意的是在Mac OS下,出现的提示信息是乱码的,需要设置一下才能正确显示中文。在路径为:D:\jboss-3.2.5\server\default\deploy\jbossweb-tomcat50.sar\server.xml文件里的:
    <Connector port="8000" address="${jboss.bind.address}"
             maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
             enableLookups="false" redirectPort="8443" acceptCount="100"
             connectionTimeout="20000" disableUploadTimeout="true"
             URIEncoding="GBK" />
    在相应的JSP页面里写到:
           <%@ page contentType="text/html;charset=GBK" %>
  2. 将生成的keystore证书拷贝到${JBOSS_HOME}/server/default/conf目录下;
  3. 修改${JBOSS_HOME}/server/default/deployer/jbossweb.sar/server.xml,将下列XML片段的注释去掉,并将keystoreFile的路径指向刚才拷贝过来的keystore证书,即${JBOSS_HOME}/server/default/conf/jboss.keystore,将keystorePass设置成在生成keystore证书时输入的密码:
    Xml代码   收藏代码
    1. <Connector protocol="HTTP/1.1" SSLEnabled="true"   
    2.         port="8443" address="${jboss.bind.address}"  
    3.         scheme="https" secure="true" clientAuth="false"   
    4.         keystoreFile="${jboss.server.home.dir}/conf/jboss.keystore"  
    5.         keystorePass="jbosskeystorePass" sslProtocol = "TLS" />  
  4. 重启JBoss服务器,输入https://localhost:8443,就可以以安全的形式访问JBoss的控制台了。但是我们也同样可以以不加密的方式访问JBoss的控制台;
  5. 如果要让某些页面只能以安全的形式访问,需要修改WEB应用的web.xml,在下列xml片段中 Jboss配置
    Xml代码   收藏代码
    1. <security-constraint>  
    2.     <web-resource-collection>  
    3.         <web-resource-name>ssiadmin only</web-resource-name>  
    4.         <url-pattern>*.shtml</url-pattern>  
    5.     </web-resource-collection>  
    6.     <auth-constraint>  
    7.         <role-name>ssiadmin</role-name>  
    8.     </auth-constraint>  
    9. </security-constraint>  
     增加关于加密传输的参数
    Xml代码   收藏代码
    1. <security-constraint>  
    2.     <web-resource-collection>  
    3.         <web-resource-name>ssiadmin only</web-resource-name>  
    4.         <url-pattern>*.shtml</url-pattern>  
    5.     </web-resource-collection>  
    6.     <auth-constraint>  
    7.         <role-name>ssiadmin</role-name>  
    8.     </auth-constraint>  
    9.     <user-data-constraint>  
    10.         <transport-guarantee>CONFIDENTIAL</transport-guarantee>  
    11.     </user-data-constraint>  
    12. </security-constraint>  
      则表示当用户请求shtml资源时,将使用加密的数据传输。其中transport-guarantee的可选参数类型有三个:

           NONE: 对所使用的通信协议不加限制;

           CONFIDENTIAL:使用加密的通信协议;

           INTEGRAL: 数据必须以一种防止截取它的人阅读它的方式传送。


tomcat配置

< -- Define a SSL Coyote HTTP/1.1 Connector on port 8443 -->
<Connector 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="tomcat.keystore" keystorePass="123456"
        keystoreType="jks"/>
官网介绍: http://docs.jboss.org/jbossweb/3.0.x/ssl-howto.html

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