2014-01-23 30 views
1

這是我在server.xml中的connector元素。我也嘗試使用8443而不是8484,但同樣的錯誤。tomcat啓動時,通常只允許使用每個套接字地址(協議/網絡地址/端口)?

<Connector 
    SSLEnabled="true" 
    acceptCount="100" 
    connectionTimeout="20000" 
    executor="tomcatThreadPool" 
    keystoreFile="D:/.keystore" 
    keystorePass="changeit" 
    maxKeepAliveRequests="15" 
    port="8484" 
    protocol="HTTP/1.1" 
    redirectPort="8484" 
    scheme="https" 
    secure="true" 
    allowUnsafeLegacyRenegotiation="true"/> 



SEVERE: Error starting endpoint 
java.lang.Exception: Socket bind failed: [730048] Only one usage of each socket address (protocol/network address/port) is normally permitted. 
    at org.apache.tomcat.util.net.AprEndpoint.init(AprEndpoint.java:649) 
    at org.apache.tomcat.util.net.AprEndpoint.start(AprEndpoint.java:766) 
    at org.apache.coyote.http11.Http11AprProtocol.start(Http11AprProtocol.java:137) 
    at org.apache.catalina.connector.Connector.start(Connector.java:1122) 
    at org.apache.catalina.core.StandardService.start(StandardService.java:540) 
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:754) 
    at org.apache.catalina.startup.Catalina.start(Catalina.java:595) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:606) 
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289) 
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414) 

Jan 23, 2014 10:05:26 AM org.apache.catalina.core.StandardService start 
SEVERE: Failed to start connector [Connector[HTTP/1.1-8484]] 
LifecycleException: service.getName(): "Catalina"; Protocol handler start failed: java.lang.Exception: Socket bind failed: [730048] Only one usage of each socket address (protocol/network address/port) is normally permitted. 
    at org.apache.catalina.connector.Connector.start(Connector.java:1129) 
    at org.apache.catalina.core.StandardService.start(StandardService.java:540) 
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:754) 
    at org.apache.catalina.startup.Catalina.start(Catalina.java:595) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:606) 
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289) 
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414) 

我相信沒有其他應用程序使用與Tomcat start up error驗證端口(8484或8443)。 我不確定實際的原因是什麼?

+0

指定一個你從Eclipse中,命令行或作爲服務運行Tomcat一個不同端口? – regulus

+0

與startup.bat文件 – user3198603

回答

3
port="8484" 
... 
redirectPort="8484" 

您試圖在同一個端口上打開兩個偵聽套接字。

redirectPort爲:

如果此連接器正在支持非SSL請求,並且在接收到請求針對其匹配<安全約束>需要SSL傳輸,卡塔利娜將自動將該請求重定向到此處指定的端口號。

這將需要比port

+0

此答案*不正確。 'redirectPort'不綁定到端口。配置可能是錯誤的(端口*應該*實際上是不同的),但是這種配置不會導致原始問題中報告的錯誤。 –

相關問題