Come configuro TeamCity per l'accesso pubblico su https?
-
22-07-2019 - |
Domanda
Come configuro TeamCity 4.0 in modo da potervi accedere tramite la porta 443 su Internet? per esempio. https://teamcity.mydomain.com
Sto eseguendo IIS 7 sullo stesso server in cui è installato TeamCity. Vedo due opzioni:
-
Imposta TeamCity per usare la porta 8443 e creare un proxy inverso in IIS che inoltra le richieste a TeamCity indirizzo IP pubblico alla porta Tomcat sull'indirizzo IP interno.
-
Configura Tomcat per l'esecuzione su un altro Indirizzo IP di IIS 7 e configurazione TeamCity funzionerà sulla porta 443.
Non sono sicuro dei dettagli di nessuno di questi passaggi.
Soluzione
Richiede la configurazione del server Tomcat in bundle per https. Vedi qui:
e qui:
http://tomcat.apache.org/tomcat-6.0- doc / ssl-HOWTO.html
Ho anche configurato Tomcat per l'ascolto su un solo indirizzo IP. Tutto ciò si è rivelato un vero dolore e non sono ancora in grado di gestire TeamCity come servizio. Posso solo eseguirlo dalla riga di comando. Se avessi intenzione di farlo, avrei installato TeamCity per l'esecuzione sulla porta predefinita e invertivo il proxy usando Routing richieste applicazioni IIS7 o Apache Virtual Directory.
[Modifica] Ho fatto questo e ho usato il routing delle richieste di applicazione IIS per impostare un proxy inverso. Funziona perfettamente e anche gli aggiornamenti di Team City sono indolori.
Altri suggerimenti
Se non ti aspetti un carico elevato del server, puoi evitare di utilizzare IIS o Apache e abilitare SSL direttamente in Tomcat. È più semplice da configurare. L'unico inconveniente è l'utilizzo elevato della CPU quando il client si connette al server (durante la fase di negoziazione), dopo che l'utilizzo della CPU è trascurabile.
Assicurati di utilizzare anche caricare questi 2 moduli
LoadModule proxy_module bin/mod_proxy.so
LoadModule proxy_http_module bin/mod_proxy_http.so
ProxyPass /TeamCity http://localhost/TeamCity
ProxyPassReverse /TeamCity http://localhost/TeamCity