
Ich versuche, SSL auf einem alten OpenSUSE-Server zu konfigurieren:
openSUSE 11.4 (x86_64)
VERSION = 11.4
CODENAME = Celadon
Ich habe das Apache-SSL-Modul aktiviert:
apache2ctl -M
Loaded Modules:
core_module (static)
mpm_prefork_module (static)
http_module (static)
so_module (static)
actions_module (shared)
alias_module (shared)
auth_basic_module (shared)
authn_file_module (shared)
authz_host_module (shared)
authz_groupfile_module (shared)
authz_default_module (shared)
authz_user_module (shared)
autoindex_module (shared)
cgi_module (shared)
dir_module (shared)
env_module (shared)
expires_module (shared)
include_module (shared)
log_config_module (shared)
mime_module (shared)
negotiation_module (shared)
setenvif_module (shared)
ssl_module (shared)
userdir_module (shared)
php5_module (shared)
reqtimeout_module (shared)
deflate_module (shared)
headers_module (shared)
rewrite_module (shared)
Syntax OK
Und den virtuellen Host konfiguriert, der die SSL-Zertifikate bereitstellt (durch Kopieren und Bearbeiten der Datei vhost-ssl.template und Umbenennen in https.xxxxxxxx.conf) und Apache neu gestartet.
Beim Verbindungsversuch erhalte ich folgende Fehlermeldung:
openssl s_client -connect localhost:443
connect: Connection refused
connect:errno=111
Dies ist die installierte OpenSSL-Version:
OpenSSL 1.0.1p 9 Jul 2015 (Library: OpenSSL 1.0.0c 2 Dec 2010)
Falls es hilft, ist dies meine iptables-Konfiguration:
iptables -L -vn
Chain INPUT (policy ACCEPT 4641 packets, 815K bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 1691 packets, 4745K bytes)
pkts bytes target prot opt in out source destination
Können Sie mir erklären, warum ich im lokalen Host keine Verbindung zum Port 443 herstellen kann?
BEARBEITEN:
Ich glaube, es ist ein Problem mit Apache und der zusätzlichen Datei https.xxxxxxx.conf:
httpd2 -S
VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:80 is a NameVirtualHost
default server xxxxxxxx.it (/etc/apache2/vhosts.d/xxxxxxxx.conf:3)
port 80 namevhost xxxxxxxx.it (/etc/apache2/vhosts.d/xxxxxxxx.it.conf:3)
port 80 namevhost XXX.XXX.XXX.XXX (/etc/apache2/vhosts.d/xxxxxxxx.it.conf:9)
In meiner listen.conf scheint es, dass, wenn das SSL-Modul aktiviert ist, es 443 abhören sollte:
Listen 80
<IfDefine SSL>
<IfDefine !NOSSL>
<IfModule mod_ssl.c>
Listen 443
</IfModule>
</IfDefine>
</IfDefine>
Dies ist die Ausgabe von netstat:
netstat -tulpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 8105/mysqld
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1847/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 2179/master
tcp 0 0 :::80 :::* LISTEN 13330/httpd2-prefor
tcp 0 0 :::21 :::* LISTEN 1930/vsftpd
tcp 0 0 :::22 :::* LISTEN 1847/sshd
tcp 0 0 ::1:25 :::* LISTEN 2179/master
Ich habe die Datei /etc/sysconfig/apache2 geändert, um das SSL-Modul zu aktivieren
APACHE_SERVER_FLAGS="SSL"
Jetzt scheint es sowohl lokal als auch remote korrekt zu reagieren:
openssl s_client -connect localhost:443
CONNECTED(00000003)
depth=3 C = SE, O = AddTrust AB, OU = AddTrust External TTP Network, CN = AddTrust External CA Root
verify return:1
Ich habe immer noch Probleme, da ich vom Browser Folgendes erhalte:
This site can’t be reached
xxxxxxxx.it unexpectedly closed the connection.
Try:
Checking the connection
Checking the proxy and the firewall
Running Network Diagnostics
ERR_CONNECTION_CLOSED
Ich glaube jedoch, dass das Problem nicht damit zusammenhängt
Antwort1
Endlich habe ich es herausgefunden! Die Standard-Apache-Listen.conf hatte keinen Eintrag für die der Maschine zugewiesene IP-Adresse. Na klar. Ich dachte, „Listen 80“ würde alle IP-Adressen der Maschine abdecken.