我正在尝试将非SSL端口8080上的流量重定向到SSL端口8443(在Jboss 4.2.3.GA版本上),但它无法正常工作。当我在这个端口上访问我的webapplication时,它会停留在该端口上并显示页面。这是我在server.xml文件中的配置
<Connector port="8080" address="${jboss.bind.address}"
maxThreads="250" maxHttpHeaderSize="8192"
emptySessionPath="true" protocol="HTTP/1.1"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true"/>
<!-- Define a SSL HTTP/1.1 Connector on port 8443
This connector uses the JSSE configuration, when using APR, the
connector should be using the OpenSSL style configuration
described in the APR documentation -->
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" keystoreFile="conf/sds/keystore"/>
这是web.xml配置
<security-constraint>
<web-resource-collection>
<web-resource-name>SUCTR</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
我尝试过使用默认端口80和443,并且还使用了url-pattern中的特定路径,但仍然无效。我不知道我在这里做错了什么,请你指点我正确的方向。
感谢。
答案 0 :(得分:11)
在web.xml中编辑
<security-constraint>
<web-resource-collection>
<web-resource-name>App_nmae</web-resource-name>
<url-pattern>/*</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
在server.xml中编辑
<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="/opt/apache-tomcat-6.0.13/.keystore"
keystorePass="changeit"/>
这对我有用..你可以尝试一下
答案 1 :(得分:0)
看起来不错。我假设您正在关闭安全约束标记。尝试将网址格式更改为“/ APP_URI / *”,看看它在访问应用时是否有所作为。