May 3, 2015

TeamCity - 使用HTTPS連線

TeamCity - 簡介與安裝一文中,我在安裝TC時將預設的port number設定為80。如果你有安全上的考量,也可改以HTTPS連線,不過TC目前的版本(9.0.4)仍無法透過管理介面來做設定,需要直接修改設定檔並重新啟動TC的Windows服務。

既然要使用HTTPS連線,首先必須準備好SSL憑證。在Windows平台上,TC可讀取的憑證格式為*.pfx。你可以透過IIS管理工具或是從作業系統中匯出*.pfx憑證,如IIS 8 and IIS 8.5: How to Import and Export SSL Certificates。匯出後將憑證複製一份到TC所在的伺服器,如C:\keys\domainname.pfx,接下來修改設定檔。

開啟C:\TeamCity\conf\server.xml,加入以下設定

<Connector port="443"
           protocol="org.apache.coyote.http11.Http11NioProtocol"
           SSLEnabled="true"
           scheme="https"
           secure="true"
           clientAuth="false"
           sslProtocol="TLS"
           keystoreFile="C:\keys\domainname.pfx"
           keystorePass="P@ssw0rd"
           keystoreType="PKCS12"
           maxThreads="150"
           />

keystoreFile為憑證所在實體路徑,而keystorePass為憑證密碼。設定完成後重新啟動TeamCity Server服務,接下來即可以HTTPS連線瀏覽TC。


雖然開啟了HTTPS連線,HTTP連線仍然支援,如果要完全關閉HTTP連線,可在硬體或軟體防火牆關閉port number 80。

最後,在Adninistration> Global Settings中將Server URL更新成HTTPS的連線位址。


No comments: