Vraag _default_ VirtualHost overlapt op poort 443, de eerste heeft voorrang


Ik heb twee robijn op rails 3 applicaties die op dezelfde server draaien, (ubuntu 10.04), beide met SSL.

Hier is mijn apache-configuratiebestand:

<VirtualHost *:80>
ServerName example1.com
DocumentRoot /home/me/example1/production/current/public
</VirtualHost>
<VirtualHost *:443>
ServerName example1.com
DocumentRoot /home/me/example1/production/current/public
SSLEngine on
SSLCertificateFile /home/me/example1/production/shared/example1.crt
SSLCertificateKeyFile /home/me/example1/production/shared/example1.key
SSLCertificateChainFile /home/me/example1/production/shared/gd_bundle.crt
SSLProtocol -all +TLSv1 +SSLv3
SSLCipherSuite HIGH:MEDIUM:!aNULL:+SHA1:+MD5:+HIGH:+MEDIUM
</VirtualHost>


<VirtualHost *:80>
ServerName example2.com
DocumentRoot /home/me/example2/production/current/public
</VirtualHost>
<VirtualHost *:443>
ServerName example2.com
DocumentRoot /home/me/example2/production/current/public
SSLEngine on
SSLCertificateFile /home/me/example2/production/shared/iwanto.crt
SSLCertificateKeyFile /home/me/example2/production/shared/iwanto.key
SSLCertificateChainFile /home/me/example2/production/shared/gd_bundle.crt
SSLProtocol -all +TLSv1 +SSLv3
SSLCipherSuite HIGH:MEDIUM:!aNULL:+SHA1:+MD5:+HIGH:+MEDIUM
</VirtualHost>

Wat is het probleem:

Bij het herstarten van mijn server geeft het me een aantal uitvoer als volgt:

 * Restarting web server apache2                                   
 [Sun Jun 17 17:57:49 2012] [warn] _default_ VirtualHost overlap on port 443, the first has precedence
 ... waiting [Sun Jun 17 17:57:50 2012] [warn] _default_ VirtualHost overlap on port 443, the first has precedence

Op googlen waarom dit probleem komt, kreeg ik zoiets als dit:

U kunt op naam gebaseerde virtuele hosts niet gebruiken met SSL omdat de SSL-handshake (wanneer de browser het certificaat van de beveiligde webserver accepteert) plaatsvindt vóór de HTTP-aanvraag, die de toepasselijke op naam gebaseerde virtuele host identificeert. Als u van plan bent om op naam gebaseerde virtuele hosts te gebruiken, onthoud dan dat ze alleen werken met uw niet-beveiligde webserver.

Maar niet in staat om uit te vinden hoe twee ssl-applicaties op dezelfde server worden uitgevoerd.

Kan iemand mij helpen?


61
2018-06-17 22:42


oorsprong


Je hebt er geen _default_ vhosts in de configuratie die je hebt opgegeven, dus ze zijn ergens anders. Wat is de uitvoer van apache2ctl -S? (Ja, het is mogelijk om meerdere op SSL-naam gebaseerde vhosts op verschillende certificaten uit te voeren, op voorwaarde dat het niet nodig is clientbrowsers met Windows XP of andere die geen ondersteuning bieden voor TLS SNI te ondersteunen. XP?) - Shane Madden♦


antwoorden:


Bijna daar!

Voeg dit toe aan ports.conf of http.conf en bewaar de bovenstaande configuratie.

<IfModule mod_ssl.c>
    # If you add NameVirtualHost *:443 here, you will also have to change
    # the VirtualHost statement in /etc/apache2/sites-available/default-ssl
    # to <VirtualHost *:443>
    # Server Name Indication for SSL named virtual hosts is currently not
    # supported by MSIE on Windows XP.

    # !important below!
    NameVirtualHost *:443 
    Listen 443
</IfModule>

85
2017-10-01 07:52



De opmerking "#! Important!" Moet worden verwijderd of naar een andere regel worden verplaatst, anders dank u zeer voor het interpreteren van dit onjuiste foutbericht voor mij. - flickerfly
Dit werkt niet meer in Apache 2.4.7 - malhal
Dank je. Ik vond dat ik commentaar moest geven op Luister 443 omdat dat ook wordt gebruikt in mijn individuele conf.d / website.conf -conflicten - dlink


Het hielp me ook om "/ usr / sbin / apachectl -S" uit te voeren. Deze opdrachtuitgang toont TWEE "ssl.conf" -bestanden op hetzelfde pad. Verplaats of verwijder het daderbestand en alles zou moeten werken na.


2
2017-08-08 21:10





Je kunt dit toevoegen aan je apache-config op /etc/apache2/ports.conf:

<IfModule mod_ssl.c>                
    Listen 443                      
    <IfModule !mod_authz_core.c>    
        # Apache 2.2                
        NameVirtualHost *:443       
    </IfModule>                     
</IfModule>                         

(Dit werkt in beide: apache 2.2 en 2.4)


0
2018-05-17 13:21