Okay, ich habe noch nie Erfahrung mit SSL / HTTPS gehabt, ich habe mich immer nur mit Standard-HTTP befasst. Vor kurzem habe ich begonnen, an einer Site zu arbeiten, die SSL benötigt. Also bin ich natürlich ausgegangen und habe nachgeforscht, wie es geht, und habe angefangen. Ich habe das Stadium der erfolgreichen Installation des SSL-Zertifikats erreicht - das grüne Vorhängeschloss wird angezeigt und der Server antwortet auf HTTPS-Anforderungen an Port 443. Das Problem ist, dass ich mit HTTPS / keine Seiten anzeigen kann, egal was ich tue. SSL, jedoch schienen sie auf Port 80 / HTTP in Ordnung zu sein (bis ich HTTP zu HTTPS umleitete).
Einfach gesagt, ich kann absolut in Ordnung auf die HTTPS-Site zugreifen, aber meine Seiten werden nicht gesendet, sondern für jede Anfrage wird ein 404 gesendet.
/etc/apache2/sites-available/[name weibl.conf
<VirtualHost *:80>
ServerName [serverName]
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=302]
</VirtualHost>
<VirtualHost *:443>
ServerName [serverName]
ServerAdmin [email]
DocumentRoot [docRoot]
# I know the following SSL cert stuff is correct
SSLEngine On
SSLCertificateFile [...]/[domain].crt
SSLCertificateKeyFile [...]/[certificate].key
SSLCertificateChainFile [...]/[theotherone].crt
ErrorLog ${APACHE_LOG_DIR}/[custom]_error.log
CustomLog ${APACHE_LOG_DIR}/[custom]_access.log combined
<Directory "[docRoot]">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>
Ich bin mir nicht sicher, ob es noch etwas gibt, das Sie sich ansehen möchten, oder andere Details, aber wenn es welche gibt, lassen Sie es mich wissen.
BEARBEITEN:
Nach einigem Suchen in den Konfigurationsdateien habe ich festgestellt, dass der Server beim Herstellen einer Verbindung zu HTTPS aus irgendeinem Grund das Dokumentstammverzeichnis in der Standardkonfiguration (/ var / www /) verwendet. Diese Standardkonfiguration ist jedoch mit a2ensite nicht aktiviert. Ich kann anscheinend nicht herausfinden, wo sich die Konfiguration befindet, die dies verursacht
Rewrite
Anweisungen sehen so aus, als würden Sie versuchen, Apache hinter einem schlecht konfigurierten Reverse-Proxy auszuführen. Wenn Ihr Apache die Domain direkt ohne Proxy bereitstellt, sollten Sie einfach alleRewrite
Anweisungen löschen und durch eine einzige ersetzenRedirect
. Konfigurieren Sie für jede Datei separate Protokolldateien,VirtualHost
sodass Sie genau sehen können, welcherVirtualHost
Prozess jede Anforderung verarbeitet.