这适用于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>
我错过了什么吗?
答案 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