2010-04-12 217 views
8

我主要是下面這個頁面:設置SSL(自簽名證書)和Tomcat

http://tomcat.apache.org/tomcat-6.0-doc/ssl-howto.html

我用這個命令來創建密鑰庫

的keytool -genkey -alias tomcat的-keyalg RSA - 密鑰存儲在/ etc/tomcat6中/密鑰庫

,並回答提示

然後我修改了server.xml文件,並取消註釋/編輯李本NE

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" 
      maxThreads="150" scheme="https" secure="true" 
      clientAuth="false" sslProtocol="TLS" 
      keystoreFile="/etc/tomcat6/keystore" 
      keystorePass="tomcat" /> 

然後我去到web.xml文件中爲我的項目,並添加到該文件

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

這個當我嘗試運行我的web應用程序,我遇到了這一點:

Unable to connect 

Firefox can't establish a connection to the server at localhost:8443. 

* The site could be temporarily unavailable or too busy. Try again in a few 
     moments. 

* If you are unable to load any pages, check your computer's network 
     connection. 

如果我註釋掉我添加到我的web.xml文件中的行,webapp可以正常工作。我在/ var/lib/tomcat6/logs中的日誌文件什麼也沒說。我無法弄清楚這是否是我的keystore文件,我的server.xml文件或我的web.xml文件的問題....任何幫助表示讚賞

我在Ubuntu上使用tomcat 6。

編輯:我改變了我的server.xml中

<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol" SSLEnabled="true" 
      maxThreads="150" scheme="https" secure="true" 
      clientAuth="false" sslProtocol="TLS" 
      keystoreFile="/etc/tomcat6/keystore" 
      keystorePass="tomcat" /> 

櫃面有它被自動配置爲「APR」的建議由tomcat的教程(不知道一個問題,如果我有一個或如何找到如果我這樣做)。不過,我仍然得到相同的錯誤。

+0

現在不要添加安全約束。首先讓SSL部分工作。 – 2010-04-12 05:00:59

+0

我刪除了安全限制,沒有什麼改變,但我會離開它,直到SSL正常工作。順便說一句,這裏是我的整個server.xml文件的pastebin,以防萬一有所幫助..除了當我取消註釋SSL部分.. http://pastebin.com/yVRiNHi7 – Danny 2010-04-12 05:57:38

回答

5

好吧,我是個白癡......

我是NetBeans的是重新啓動我的服務器我的印象,因爲Eclipse用來了解什麼時候需要重新啓動該文件被改變,它會重新啓動服務器爲你。顯然netbeans沒有這個功能。一旦我使用/ etc/init腳本手動重新啓動服務器。d/tomcat6然後一切正常..

無論如何感謝您的幫助pascal,你的問題幫助我考慮我可能會遇到什麼其他問題。

+0

你幫我理解了如何在tomcat上配置它,謝謝:) – ufk 2011-10-11 13:15:35

1

我只是測試相同的設置與香草的Tomcat Ubuntu和:

  • 我生成一個密鑰
  • 我註釋掉的SSL連接器server.xml,並指出我的密鑰庫
  • 我增加了安全性在我-web應用的web.xml約束強制使用SSL

和訪問https://localhost:8443/my-webapp只是工作在我的機器(C)上。

是否使用即正確的協議https://(注意小號https)訪問應用程序?

順便說一句,我會建議在非SSL連接器中設置redirectPort=8443屬性,以便http://localhost:8080/my-webapp被重定向到https://localhost:8443/my-webapp

+0

是的,我用https和端口8443. – Danny 2010-04-12 04:54:10

+0

@Danny任何防火牆運行? – 2010-04-12 04:58:28

+0

@Danny我會稍後使用Tomcat的打包版本來嘗試。 – 2010-04-12 05:09:50