使用带有https的tomcat时,域名在浏览器中显示端口号8443

时间:2014-12-15 09:30:18

标签: spring-mvc tomcat

我正在开发一个Spring-MVC应用程序,我已经在服务器上的tomcat安装上部署了它。在我将在tomcat和spring下面发布的配置中,http正在侦听port80,而https正在侦听端口8443.

现在,在部署应用程序时,我可以在浏览器URL中看到domainname.com:8443/nameOfPage

我不想要向用户显示端口号。我该怎么办,请告诉我。谢谢。

Spring-Security config.xml

 <security:http create-session="ifRequired" use-expressions="true" auto-config="true" disable-url-rewriting="true">
        <security:form-login login-page="/" default-target-url="/canvas/list" always-use-default-target="false" authentication-failure-url="/denied.jsp" />
        <security:remember-me key="_spring_security_remember_me" user-service-ref="userDetailsService" token-validity-seconds="1209600" data-source-ref="dataSource"/>
        <security:logout logout-success-url="/" delete-cookies="JSESSIONID" invalidate-session="true" logout-url="/j_spring_security_logout" />
   <security:intercept-url pattern="/" requires-channel="https" access="permitAll"/>
        <security:intercept-url pattern="/canvas/list" access="hasRole('ROLE_USER')" requires-channel="https"/>
    <security:port-mappings>
        <security:port-mapping http="80" https="443"/>
    </security:port-mappings>

Apache tomcat,server.xml

<Connector port="80" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" 
               scheme="https" secure="true" clientAuth="false"  sslProtocol="TLS"
               keystoreFile="/path/to/keystore.jks" keystorePass="password" />

欢迎提出任何指示。谢谢。

1 个答案:

答案 0 :(得分:2)

实现此目的的唯一方法是使用端口443。

浏览器将始终告诉您是否使用非标准端口,而HTTPS的标准端口是443。

同样,对于HTTP,如果您使用80以外的任何端口,端口号将显示在地址栏中。