Dois sites SSL diferentes com o mesmo nome possível no Apache?

1

Acabei de atualizar do debian 7 para o debian 8 (apache 2.4) chamado debian.domain.com Eu tenho o Request Tracker, um software de helpdesk, e eu quero executá-lo a partir do link (eu tenho um certificado SSL válido para ele)

O dns apropriado para resolver helpdesk.domain.com para debian.domain.com já está configurado e funciona bem.

Eu tenho um pequeno script php que serve atualizações do firefox sobre http simples, e eu também tenho uma pasta de publicação em / var / www que contém as atualizações do flash player. Este deve ser servido por https.

A questão é: posso servidor tanto o helpdesk como as atualizações em flash do helpdesk.domínio.com?

Os arquivos do Helpdesk estão em / opt / rt4 / share / html e a pasta / pub está em / var / www.

Até agora eu posso fazer o seguinte funcionar:

-As atualizações do Firefox estão funcionando a partir do http antigo

-As atualizações do Flash estão sendo server over helpdesk.domain.com muito bem

-Helpdesk é acessível somente a partir de debian.domain.com, portanto, um certificado    erro é recebido

Aqui está minha configuração atual do apache 2.4, alguém pode me ajudar a ajustá-lo para conseguir isso, se possível? De alguma forma eu acho que o Debian 7 estava funcionando bem, mas não tenho certeza:

<IfModule mod_ssl.c>
<VirtualHost *:443>
    ServerAdmin [email protected]
    ServerName debian.domain.com:443

    <Directory "/opt/rt4/sbin">
      SSLOptions +StdEnvVars
    </Directory>
    <Directory />
            Options FollowSymLinks
            AllowOverride None
    </Directory>

    <Directory /var/www/>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride None
            Require all granted
    </Directory>

    SSLEngine on
    SSLCertificateFile    /etc/ssl/certs/domain.cert
    SSLCertificateKeyFile /etc/ssl/certs/private.key
    SSLCertificateChainFile /etc/ssl/certs/root_bundle.crt

    AddDefaultCharset UTF-8

    ScriptAlias / /opt/rt4/sbin/rt-server.fcgi/

    DocumentRoot "/opt/rt4/share/html"
    <Location />
        <IfVersion >= 2.4>
            Require all granted
        </IfVersion>
        Options +ExecCGI
        AddHandler fcgid-script fcgi
    </Location>
</VirtualHost>

<VirtualHost *:443>
    ServerAdmin [email protected]
    ServerName helpdesk.domain.com:443
    AddDefaultCharset UTF-8
    DocumentRoot /var/www
    SSLEngine on
    SSLCertificateFile    /etc/ssl/certs/domain.cert
    SSLCertificateKeyFile /etc/ssl/certs/private.key
    SSLCertificateChainFile /etc/ssl/certs/root_bundle.crt
</VirtualHost>
</IfModule>

Aqui está a configuração antiga que eu usei no Debian 7 (apache 2.2), no entanto eu tentei usá-lo com esta versão e acontece a mesma coisa

<IfModule mod_ssl.c>
NameVirtualHost *:443

<VirtualHost *:443>
    ServerAdmin [email protected]
    ServerName debian.domain.com:443
    AddDefaultCharset UTF-8
    DocumentRoot /opt/rt4/share/html
    Alias /NoAuth/images/ /opt/rt4/share/html/NoAuth/images/
    ScriptAlias / /opt/rt4/sbin/rt-server.fcgi/
    <Location />
      ## Apache version < 2.4
      Order allow,deny
      Allow from all
    </Location>
    <Location /NoAuth/images >
    </Location>
    <Directory "/opt/rt4/sbin">
      SSLOptions +StdEnvVars
    </Directory>
    <Directory />
            Options FollowSymLinks
            AllowOverride None
    </Directory>
    <Directory /var/www/>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride None
            Order allow,deny
            allow from all
    </Directory>

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

    SSLEngine on
    SSLCertificateFile    /etc/ssl/certs/domain.crt
    SSLCertificateKeyFile /etc/ssl/certs/domain/private.key
    SSLCertificateChainFile /etc/ssl/certs/domain/root_bundle.crt
    <FilesMatch "\.(cgi|shtml|phtml|php)$">
            SSLOptions +StdEnvVars
    </FilesMatch>
    <Directory /usr/lib/cgi-bin>
            SSLOptions +StdEnvVars
    </Directory>
</VirtualHost>

<VirtualHost *:443>
    ServerAdmin [email protected]
    ServerName helpdesk.domain.com:443
    AddDefaultCharset UTF-8
    DocumentRoot /var/www
    SSLEngine on
    SSLCertificateFile    /etc/ssl/certs/domain.crt
    SSLCertificateKeyFile /etc/ssl/certs/domain/private.key
    SSLCertificateChainFile /etc/ssl/certs/domain/root_bundle.crt
</VirtualHost>
</IfModule>

Update: aqui está o meu arquivo 000-default.conf que é usado para http simples. Um redirecionamento não funcionaria porque o cliente flash solicita https diretamente de acordo com a documentação da Adobe. 1 . Minha configuração ssl é chamada rt.conf

<VirtualHost *:80>
    ServerAdmin webmaster@localhost

    DocumentRoot /var/www
    <Directory />
            Options FollowSymLinks
            #AllowOverride None
            AllowOverride All
    </Directory>
    <Directory /var/www/>
            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>
</VirtualHost>
    
por fjleon 08.06.2016 / 21:37

1 resposta

0

Por favor, poste sua configuração completa. A configuração para http está ausente. Se eu tivesse que adivinhar, você tem que fazer o seguinte:

  1. Altere as entradas ServerName para o seguinte:

    Nome_do_servidor helpdesk.domain.com

  2. Certifique-se de que sua configuração para helpdesk.domain.com não seja a primeira lida pelo Apache. Se eles estiverem em arquivos diferentes, o Apache os lerá em ordem ascendente alfanumérica. O padrão 000-default.conf no Debian geralmente faz o trabalho.

  3. Para garantir https para alguns arquivos, mod_redirect ou mod_alias (usando a diretiva Redirect fará o trabalho. Consulte também a documentação Por favor, esclareça o que significa "este deve ser servido por https" significa que o http não funciona?

por 09.06.2016 / 00:37