it-swarm.com.de

SSL auf Apache2 installiert, aber HTTPS funktioniert nicht

Ich habe vor kurzem ein SSL-Zertifikat auf meinem Amazon EC2 Ubuntu 12.04 (32bit) -Server installiert, auf dem Apache 2 ausgeführt wird.

Wenn ich versuche, über https auf meine Website zuzugreifen, wird diese nicht geladen. Wenn ich einen nmap-Scan durchführe, sehe ich, dass Port 443 nicht geöffnet ist.

Ich habe versucht, Port 443 in meinen IP-Tabellen ohne Erfolg zu öffnen. iptables -L yeilds

Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:https

So habe ich ssl installiert

Ich habe /etc/init.d/Apache2.conf geändert, um ssl.conf einzuschließen, und modifizierte ssl.conf, um die erforderlichen

SSLCertificateFile /path/fileSSLCertificateKeyFile /path/fileSSLCertificateChainFile/path/file

Ich habe meine Sicherheitsgruppe so konfiguriert, dass eingehende Anforderungen von Port 443 zugelassen werden (TCP-Quelle: 0.0.0.0/0).

Wenn ich den folgenden Test mit PHP durchführen

if (!extension_loaded('openssl')) 
{
  echo "not loaded";
}
else
{
  echo "loaded"   ;
}

Ich werde "geladen".

Irgendwelche Ideen?

19
rocketas

Haben Sie in httpd-ssl.conf Hören Sie 443

Wenn nicht, versuchen Sie, das hinzuzufügen und Apache neu zu starten.

22
mti2935

Prüfen Sie zunächst, ob mod_ssl aktiviert ist. Wenn nicht, aktivieren Sie es, indem Sie a2enmod ssl ausführen. Prüfen Sie dann, ob Apache an Port 443 auf https wartet. Prüfen Sie dann, ob die Firewall den Port 443 nicht blockiert. 

9
David Okwii

In httpd.conf ist Folgendes standardmäßig deaktiviert:

# Secure (SSL/TLS) connections
# Include conf/extra/httpd-ssl.conf    

Entfernen Sie einfach das # aus dem Include und starten Sie Apache neu. 

5

Wenn Sie eine lokale Verbindung herstellen können (z. B. mit telnet localhost 443, wie von mti vorgeschlagen), prüfen Sie, ob die Firewall ordnungsgemäß konfiguriert ist. 

In meinem Fall blockierte ufw alles, sodass ich ufw allow 443 musste, wodurch das zugrunde liegende Problem auf dasselbe Symptom behoben wurde.

3
Nick T

Wenn jemand dies findet und Amazon Lightsail verwendet (wie ich), müssen Sie die Web-Benutzeroberfläche verwenden, um Port 443 explizit zu öffnen.

Ich habe Stunden damit verbracht, meine Serverkonfigurationsdateien zu überfluten, bevor ich Folgendes entdeckte: /

1
Richard

Für mich ist es der dumme Chrome Cache. Ctrl + Shift + Del, um den Cache zu leeren, starten Sie Chrome neu und SSL funktioniert jetzt ordnungsgemäß.

0
datasn.io

Ich bin gerade in eine Situation geraten, in der es einen Prozess gab, der Port 443 abhörte, die Firewall vollständig geöffnet war, SELinux deaktiviert war und ich immer noch konnte nicht auf Port 443 telnet. Nicht einmal vom localhost. Ich habe immer bekommen:

telnet 127.0.0.1 443
telnet: connect to address 127.0.0.1: Connection refused`

Es stellte sich heraus, dass die iptables NAT - Tabelle einige Regeln hatte, die den auf Port 443 eingehenden Datenverkehr zu einem anderen Port (8443) umleiteten. An Port 8443 hörte nichts zu.

# iptables --table nat --list
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         
REDIRECT   tcp  --  anywhere             anywhere            tcp dpt:https redir ports 8443 

Das Entfernen der relevanten NAT -Einträge hat das Problem für mich behoben. 

0
Ferry Boender

Wenn die SSL-Schlüssel nicht festgelegt sind (oder von Gremlins unerklärlich auskommentiert wurden), schlägt Apache 2.2 SSL im Hintergrund fehl. Es wird kein Fehler im Protokoll angezeigt und 443 wird nicht überwacht. Die http: 80-Sites funktionieren.

0
user3062014