Ich habe gerade ein SSL-Zertifikat von Go Daddy gekauft . Ich richte das Zertifikat folgendermaßen ein:
www.mydomainname.com (Ich habe die Domain geändert, wie Sie sehen können.)
Ich habe Apache eingerichtet und es funktioniert. Wenn ich tippe https://www.mydomainname.com
, funktioniert alles.
JEDOCH:
Wenn ich tippe, http://www.mydomainname.com
erhalte ich diesen Fehler von Apache:
Bad Request
Your browser sent a request that this server could not understand.
Reason: You're speaking plain HTTP to an SSL-enabled server port.
Instead use the HTTPS scheme to access this URL, please.
Ich hatte gehofft, ich könnte tippen
http://www.mydomainname.com
für HTTP-Anfragen
und
https://www.mydomainname.com
wenn ich sichere Anfragen möchte.
Was habe ich falsch gemacht?
Hier ist meine Apache-Konfiguration:
Unter Sites-fähig (ich verwende Ubuntus Apache-Setup)
Ich habe Datei angerufen ssl
<IfModule mod_ssl.c>;
SSLEngine On
SSLCertificateFile /etc/apache2/ssl/www.mydomainname.com.crt
SSLCertificateKeyFile /etc/apache2/ssl/www.mydomainname.com.key
</IfModule>
und ein anderer namens webapp
:
<IfModule mod_proxy_ajp.c>
ProxyRequests On
ProxyVia On
<Location />
Order allow,deny
Allow from all
AuthType Basic
AuthName "Restricted area"
AuthUserFile /etc/apache2/passwd/access
Require valid-user
ProxyPass ajp://localhost:9999/
ProxyPassReverse ajp://localhost:9999/
</Location>
<Location /uploader>
Order allow,deny
Satisfy Any
Allow from all
ProxyPass ajp://localhost:9999/uploader
ProxyPassReverse ajp://localhost:9999/uploader
</Location>
</IfModule>
apache-2.2
ssl
certificate
Peter Mortensen
quelle
quelle
Antworten:
Überprüfen Sie Ihre Apache-Konfiguration, um sicherzustellen, dass Sie Port 80 auf HTTP und Port 443 auf HTTPS überwachen.
In Ihrem
/etc/httpd/conf/httpd.conf
sollten Sie "Listen 80" haben. Sie sollten auch eine/etc/httpd/conf.d/ssl.conf
Datei (wahrscheinlich) mit "Listen 443" angegeben haben.Sie müssen virtuelle Hosts konfigurieren, einen für *: 80 und einen für *: 443. Das *: 443 muss die SSL-Spezifikation enthalten, das *: 80 sollte nicht das SSL-Zeug enthalten.
Sie haben nicht die falsche SSL-Zertifizierung gekauft.
quelle
Sie müssen tatsächlich 2 VHosts konfigurieren. Der SSL-VHost und der Nicht-SSL-VHost unterscheiden sich nur durch den SSL-Teil, den Sie tatsächlich im VHost platzieren, da Sie möglicherweise eine Vielzahl von SSL-VHosts haben (die auf verschiedenen Ports lauschen), die nicht tatsächlich hergestellt werden Es ist sinnvoll, dies in einem serverweiten Kontext bereitzustellen, den Sie meiner Meinung nach tun.
quelle
OK, ich habe es behoben. Ich war durcheinander, weil ich es nicht
Virtualhost
früher hatte. Dies ist die Endkonfiguration:SSL-Konfiguration ist:
Die Webapp-Konfiguration lautet:
quelle
Wenn Sie WIRKLICH das falsche Zertifikat gekauft haben und es sich nicht nur um ein Konfigurationsproblem handelt, ist es normalerweise am besten, Ihr Zertifikat zu stornieren / zu widerrufen und es erneut ausstellen zu lassen.
Die meisten Zertifizierungsstellen haben die Richtlinie, dass sie dies für einen bestimmten Zeitraum (dh 1 Woche) kostenlos tun.
Hoffe das hilft.
quelle