使用HTTPS保护Netbeans 6.7 tomcat管理器URL

时间:2013-12-04 13:56:03

标签: java tomcat ssl netbeans

这适用于Netbeans 6.7中的Tomcat 6.0.18

我在tomcat中实现了自签名SSL。但是,当我输入http://localhost:8080/manager/html等tomcat管理器网址时,它不会重定向到https://localhost:8443/manager/html

我在Netbeans的C位置更改了Tomcat的server.xml:\ Documents and Settings \ user \ .netbeans \ 6.7 \ apache-tomcat-6.0.18_base \ conf

<Connector 
    port="8443" 
    protocol="HTTP/1.1" 
    SSLEnabled="true" 
    keystoreFile="c:/ssl/keystore"
    keystorePass="myPassword" 
    maxThreads="150" 
    scheme="https" 
    secure="true" 
    clientAuth="false"
    sslProtocol="TLS" />

在web.xml中我在C:\ Documents and Settings \ user \ .netbeans \ 6.7 \ apache-tomcat-6.0.18_base \ conf

中添加了以下内容
<security-constraint>
<web-resource-collection>
<web-resource-name>Entire Application</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>

我错过了什么吗?

2 个答案:

答案 0 :(得分:1)

您必须编辑两个文件 -

打开通常在tomcat / conf中找到的server.xml并更改:

Connector port="8080"
 enableLookups="false"
 redirectPort="8443"

Connector port="8080"
 enableLookups="false"
 redirectPort="<strong>443</strong>"

其次,在web.xml中添加此代码段

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

这就是全部。重启服务器。从现在开始,所有页面都将重定向到 https

答案 1 :(得分:0)

除了更新tomcat SSl自签名证书的server.xml和web.xml之外,我在结束之前更新了tomcat manager webapp的web.xml中的security-constraint,如下所示

<security-constraint>
........
........
........
........
    <user-data-constraint>
    <transport-guarantee>CONFIDENTIAL</transport-guarantee>
    </user-data-constraint>
</security-constraint>

当我输入http://localhost:8080/manager/html时,它会始终重定向到https端口。

谢谢,

Wap Rau