Ich versuche, meine lokale Apache-Konfiguration folgendermaßen einzurichten:
http://localhost/
sollte dienen ~/
http://development.somedomain.co.nz/
sollte dienen ~/sites/development.somedomain.co.nz/
https://development.assldomain.co.nz/
sollte dienen ~/sites/development.assldomain.co.nz/
Ich möchte nur Verbindungen von unserem lokalen Netzwerk (Bereich 192.168.1. *) Und mir selbst (127.0.0.1) zulassen.
Ich habe meine Hosts-Datei eingerichtet mit:
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0 localhost
127.0.0.1 development.somedomain.co.nz
127.0.0.1 development.assldomain.co.nz
127.0.0.1 development.anunuseddomain.co.nz
Meine Apache-Konfiguration sieht folgendermaßen aus:
Listen 80
NameVirtualHost *:80
<VirtualHost development.somedomain.co.nz:80>
ServerName development.somedomain.co.nz
DocumentRoot "~/sites/development.somedomain.co.nz"
DirectoryIndex index.php
<Directory ~/sites/development.somedomain.co.nz>
Options Indexes FollowSymLinks ExecCGI Includes
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<VirtualHost localhost:80>
DocumentRoot "~/"
ServerName localhost
<Directory "~/">
Options Indexes FollowSymLinks ExecCGI Includes
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<IfModule mod_ssl.c>
Listen *:443
NameVirtualHost *:443
AcceptMutex flock
<VirtualHost development.assldomain.co.nz:443>
ServerName development.assldomain.co.nz
DocumentRoot "~/sites/development.assldomain.co.nz"
DirectoryIndex index.php
SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile /Applications/XAMPP/etc/ssl.crt/server.crt
SSLCertificateKeyFile /Applications/XAMPP/etc/ssl.key/server.key
BrowserMatch ".*MSIE.*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
<Directory ~/sites/development.assldomain.co.nz>
SSLRequireSSL
Options Indexes FollowSymLinks ExecCGI Includes
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
</IfModule>
http://development.somedomain.co.nz/
http://localhost/
und gut https://development.assldomain.co.nz/
funktionieren.
Das Problem ist, wenn ich anfordere http://development.anunuseddomain.co.nz/
oder http://development.assldomain.co.nz/
es mit dem gleichen antwortet wiehttp://development.somedomain.co.nz/
Ich möchte, dass alle Anforderungen abgelehnt werden, die nicht mit dem Namen eines virtuellen Hostservers übereinstimmen, sowie alle Anforderungen an einen https-Host, die mit http angefordert werden
PS Ich verwende XAMPP unter Mac OS X 10.5.8
quelle
Das benannte virtuelle Hosting wird für SSL-basierte virtuelle Hosts nicht unterstützt.
Das Problem ergibt sich aus der Tatsache, dass der Servername auch in der SSL-Anforderung verschlüsselt ist. Wenn der Server eine Anforderung für "einen Domänennamen" oder was auch immer empfängt, wird standardmäßig ein benannter VHost verwendet, der nicht auf 443 ist.
Lösung:
Korrigiert:
quelle
Fügen Sie am Ende Ihrer Datei einen Standard-VirtualHost hinzu, um Anforderungen an Hosts abzufangen, die Sie nicht explizit angegeben haben:
quelle
<VirtualHost localhost:80>
zu ändern ,<VirtualHost __default__:80>
aber es wird immer noch überschrieben von<VirtualHost development.somedomain.co.nz:80>
_default_
und es ist immer noch dasselbeIn Ihrer virutalen Host-Direktive:
Versuchen Sie stattdessen, die IP zu verwenden.
quelle