YouTrack no Tomcat 7 usando SSL

4

Eu tenho uma instância YouTrack implementada usando o Tomcat 7 e ele funciona bem em http://example.com:8080/youtrack

O Apache já está configurado para suportar o SSL para o domínio principal (eu tenho o arquivo .pem). Ambos https://example.com e http://example.com estão acessíveis sem problemas.

A porta 8443 já é usada por algum outro serviço ( https://example.com:8443 me mostra o painel de administração do Plesk).

Agora eu gostaria de configurar o YouTrack para usar https://youtrack.example.com

Como posso conseguir isso?

Preciso configurar o Tomcat para suportar o SSL (gerar chave separada etc.), ou apenas proxy as solicitações do Apache para o Tomcat?

Eu acho que o primeiro passo seria configurar o YouTrack para ser acessível em https://example.com:8444/youtrack , em seguida, proxy as solicitações usando mod_proxy do Apache.

Como posso fazer isso?

Meu /var/lib/tomcat7/conf/server.conf é o padrão, sem alterações: link

Meu /usr/share/tomcat7/bin/setenv.sh contém a entrada para alterar o URL padrão do YouTrack: -Djetbrains.youtrack.baseUrl=http://youtrack.example.com

Configuração de hosts virtuais:

$ cat /etc/apache2/sites-enabled/default

<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com

    DocumentRoot /var/www/default
    <Directory />
            Options FollowSymLinks
            AllowOverride All
    </Directory>
    <Directory /var/www/default>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride None
            Order allow,deny
            allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
            AllowOverride None
            Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
            Order allow,deny
            Allow from all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log

    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

Host SSL:

$ cat /etc/apache2/sites-enabled/default-ssl

<IfModule mod_ssl.c>
<VirtualHost _default_:443>
ServerAdmin [email protected]

DocumentRoot /var/www/default
<Directory />
    Options FollowSymLinks
    AllowOverride All
</Directory>
<Directory /var/www/default>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
    AllowOverride None
    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
    Order allow,deny
    Allow from all
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log

LogLevel warn

CustomLog ${APACHE_LOG_DIR}/ssl_access.log combined

SSLEngine on


SSLCertificateFile    /etc/ssl/certs/mailserver.pem
SSLCertificateKeyFile /etc/ssl/private/mailserver.pem

#SSLVerifyClient require
#SSLVerifyDepth  10

#SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire
<FilesMatch "\.(cgi|shtml|phtml|php)$">
    SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
    SSLOptions +StdEnvVars
</Directory>

BrowserMatch "MSIE [2-6]" \
    nokeepalive ssl-unclean-shutdown \
    downgrade-1.0 force-response-1.0
# MSIE 7 and newer should be able to use keepalive
BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown

</VirtualHost>
</IfModule>
    
por Sfisioza 13.07.2014 / 16:01

2 respostas

2

Parece que uma melhor escolha em relação a mod_proxy seria mod_jk .

Veja Trabalhando com o mod_jk .

    
por 27.07.2014 / 22:37
1

Você não precisa configurar o SSL para o tomcat, apenas use o Apache para fazer proxy do pedido para http://example.com:8080/youtrack via mod_proxy .

Primeiro, gere / compre o certificado para o novo domínio youtrack.example.com . Em seguida, adicione esta entrada na sua configuração.

<VirtualHost *:443>
    ServerName youtrack.example.com

    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>

    SSLEngine on

    SSLCertificateFile    /your/ssl/public/path/mailserver.pem
    SSLCertificateKeyFile /your/ssl/private/path/mailserver.pem

    ProxyPass / http://example.com:8080/youtrack/
    ProxyPassReverse / http://example.com:8080/youtrack/

</VirtualHost>

Mais informações: aqui e aqui

    
por 13.07.2014 / 17:22