ubuntuusers.de

SSL & Apache 2.4 auf Ubuntu LTS

Status: Gelöst | Ubuntu-Version: Server 16.04 (Xenial Xerus)
Antworten |

TheRealDomm

Anmeldungsdatum:
4. Oktober 2018

Beiträge: 7

Hallo zusammen,

ich habe bei meinem Hoster mehrere Root-Server gemietet um einen GameServer zu betreiben. Ich wollte nun auf einem der Server einen Apache-Server laufen lassen. Soweit so gut lief auch, DNS-Record eingerichtet und das phpbb3-Forum lief auch super allerdings nur unverschlüsselt. Ich hab also noch ein RapidSSL Zertifikat beantragt und auch ausgestellt bekommen. Jetzt ist es nur so lange her bei mir das ich mit SSL beschäftigt habe, dass ich komplett vergessen habe wie es funktioniert und etwas überfordert. Die Methodik einen Server mit 'apachectl startssl' wird wohl auch nicht mehr unterstützt.

Ich habe bisher auch keine Lösung im Netz gefunden die für mich funktioniert.

LoadModule ssl_mod modules/mod_ssl.so ist in der apache2.conf drin. Include /etc/apache2/sites-available/default.ssl.conf ebenso

In der default-ssl.conf habe ich folgende Dinge hinzugefügt.

SSLCertificateFile /etc/ssl/meinedomain.net.crt –> Schlüssel der mir per Mail gesendet wurde in eine .crt Datei gepackt. SSLCertificateKeyFile /etc/ssl/private/meinedomain.net.key –> Key der Während des Registrierungsvorgangs erstellt wurde SSLCertificateChainFile /etc/ssl/int_CA.crt –> Intermediate Zertifikat von DigiCert für RapidSSL

VirtualHost port in der 000-default.conf auf '*:443' gesetzt und in der ports.conf den Listener auf Port 443

Mein Forum auf https:// und Port 443 gesetzt und in den Board-Einstellungen SSL aktiviert.

Was mache ich falsch?

Danke für jede Antwort schonmal vorab.

LG TheRealDomm

Bilder

sebix Team-Icon

Ehemalige

Anmeldungsdatum:
14. April 2009

Beiträge: 5584

Und worin besteht nun der Fehler?

Mit letsencrypt waers nicht nur guenstiger sondern auch einfacher gegangen.

Bitte vermeide Screenshots und stelle stattdessen Ausgaben in Codebloecken dar.

TheRealDomm

(Themenstarter)

Anmeldungsdatum:
4. Oktober 2018

Beiträge: 7

sebix schrieb:

Und worin besteht nun der Fehler?

Mit letsencrypt waers nicht nur guenstiger sondern auch einfacher gegangen.

Bitte vermeide Screenshots und stelle stattdessen Ausgaben in Codebloecken dar.

Okay, werde ich mir in Zukunft zu herzen nehmen.

Mein Problem besteht in erster Linie darin das ich nur noch mit der Angabe von Port 443 auf mein Forum komme. Wenn ich versuche https://meinedomain.net einzugeben bekomme ich folgenden Fehler gemeldet.

ERR_SSL_PROTOCOL_ERROR

Wenn Ihr weitere Infos braucht einfach kurz Fragen ich weiß nicht was ihr sonst noch für Angaben braucht.

LG TheRealDomm

sebix Team-Icon

Ehemalige

Anmeldungsdatum:
14. April 2009

Beiträge: 5584

Ok. Bitte zeige mal deine nun verwendeten Konfigurationen (nicht die Schritte dorthin und mit unklarem Ausgangsstand, sondern einfach nur wie sie jetzt sind.)

TheRealDomm

(Themenstarter)

Anmeldungsdatum:
4. Oktober 2018

Beiträge: 7

sebix schrieb:

Ok. Bitte zeige mal deine nun verwendeten Konfigurationen (nicht die Schritte dorthin und mit unklarem Ausgangsstand, sondern einfach nur wie sie jetzt sind.)

Also die apache2.conf sieht wie folgt aus

DefaultRuntimeDir ${APACHE_RUN_DIR}

PidFile ${APACHE_PID_FILE}

Timeout 300

KeepAlive On

MaxKeepAliveRequests 100

KeepAliveTimeout 5

User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}

HostnameLookups Off

ErrorLog ${APACHE_LOG_DIR}/error.log

LogLevel warn

Include ports.conf

<Directory />
	Options FollowSymLinks
	AllowOverride None
	Require all denied
</Directory>

<Directory /usr/share>
	AllowOverride None
	Require all granted
</Directory>

<Directory /var/www/>
	Options Indexes FollowSymLinks
	AllowOverride None
	Require all granted
</Directory>

<FilesMatch "^\.ht">
	Require all denied
</FilesMatch>

LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %O" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent

IncludeOptional conf-enabled/*.conf

IncludeOptional sites-enabled/*.conf

LoadModule ssl_module modules/mod_ssl.so
Include /etc/apache2/sites-available/default-ssl.conf

Die ports.conf ist diese

<IfModule ssl_module>
	Listen 443
</IfModule>

<IfModule mod_gnutls.c>
	Listen 443
</IfModule>

Meine 000-default.conf

<VirtualHost *:443>

	ServerAdmin webmaster@meinedomain.net
	DocumentRoot /var/www/html
        ServerName meinedomain.net
        ServerAlias www.meinedomain.net

	ErrorLog ${APACHE_LOG_DIR}/error.log
	CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

Zu guter letzt noch meine default-ssl.conf

<IfModule mod_ssl.c>

LoadModule ssl_module /usr/lib/apache2/modules/mod_ssl.so

	<VirtualHost *:443>
		ServerAdmin webmaster@meinedomain.net
		ServerName meinedomain.net
		DocumentRoot /var/www/html

		ErrorLog ${APACHE_LOG_DIR}/error.log
		CustomLog ${APACHE_LOG_DIR}/access.log combined


		SSLEngine on

		
		SSLCertificateFile	/etc/ssl/meinedomain.net.crt
		SSLCertificateKeyFile /etc/ssl/private/meinedomain.net.key


		SSLCertificateChainFile /etc/ssl/int_CA.crt

		


		<FilesMatch "\.(cgi|shtml|phtml|php)$">
				SSLOptions +StdEnvVars
		</FilesMatch>
		<Directory /usr/lib/cgi-bin>
				SSLOptions +StdEnvVars
		</Directory>

		
		BrowserMatch "MSIE [2-6]" \
				nokeepalive ssl-unclean-shutdown \
				downgrade-1.0 force-response-1.0

	</VirtualHost>
</IfModule>

Hoffe das ist soweit so richtig...

LG TheRealDomm

sebix Team-Icon

Ehemalige

Anmeldungsdatum:
14. April 2009

Beiträge: 5584

TheRealDomm schrieb:

Also die apache2.conf sieht wie folgt aus

[...]

IncludeOptional conf-enabled/*.conf

IncludeOptional sites-enabled/*.conf

LoadModule ssl_module modules/mod_ssl.so

Das macht man mit a2enmod, nicht so wie hier.

Include /etc/apache2/sites-available/default-ssl.conf

Und das macht man mit einem Link auf diese Datei in site-enabled (Siehe 2 Zeilen drueber in der Datei), bzw mit a2ensite.

Die ports.conf ist diese

<IfModule ssl_module>
	Listen 443
</IfModule>

<IfModule mod_gnutls.c>
	Listen 443
</IfModule>

Was davon verwendest du nun?

Meine 000-default.conf

<VirtualHost *:443>

Das ist der Grund, warum dein HTTP-Server nur noch ueber Port 443 erreichbar ist, nicht unter 80.

Wenn dann mal HTTP wieder geht, schauen wir weiter.

TheRealDomm

(Themenstarter)

Anmeldungsdatum:
4. Oktober 2018

Beiträge: 7

sebix schrieb:

Das macht man mit a2enmod, nicht so wie hier.

Okay also 'a2enmod ssl' richtig?

Und das macht man mit einem Link auf diese Datei in site-enabled (Siehe 2 Zeilen drueber in der Datei), bzw mit a2ensite.

Okay alles klar

Die ports.conf ist diese

<IfModule ssl_module>
	Listen 443
</IfModule>

<IfModule mod_gnutls.c>
	Listen 443
</IfModule>

Was davon verwendest du nun?

Verwenden möchte ich natürlich SSL.

Meine 000-default.conf

<VirtualHost *:443>

Das ist der Grund, warum dein HTTP-Server nur noch ueber Port 443 erreichbar ist, nicht unter 80.

Wenn dann mal HTTP wieder geht, schauen wir weiter.

Okay dann stelle ich die 000-default mal wieder auf Port 80 und mache die restlichen Schritte.

LG TheRealDomm

TheRealDomm

(Themenstarter)

Anmeldungsdatum:
4. Oktober 2018

Beiträge: 7

Okay also ich hab das jetzt alles so gemacht bis auf die Einstellung in der 'ports.conf' und die Seite ist über https erreichbar. Allerdings nur wenn man https:// vor die Adresse schreibt. Könnte das was mit den Einstellungen in der 'ports.conf' zu tun haben?

LG TheRealDomm

sebix Team-Icon

Ehemalige

Anmeldungsdatum:
14. April 2009

Beiträge: 5584

Ja, irgendwo sollte schon ein Listen 80 drin sein.

BillMaier Team-Icon

Supporter

Anmeldungsdatum:
4. Dezember 2008

Beiträge: 6497

TheRealDomm schrieb:

Okay also ich hab das jetzt alles so gemacht bis auf die Einstellung in der 'ports.conf'

Was steht da jetzt?

http und https sind unterschiedliche Wege. Wenn du den Browser zwingen willst, von http nach https zu wechseln (gute Idee 👍 ), machst du das über einen redirect oder einen rewrite in dem vHost, der auf Port 80 lauscht. Dann lauscht auf Port 80 nur die redirect-Regel und auf 443 deine Seite.

Gruß BillMaier

TheRealDomm

(Themenstarter)

Anmeldungsdatum:
4. Oktober 2018

Beiträge: 7

sebix schrieb:

Ja, irgendwo sollte schon ein Listen 80 drin sein.

Okay

1
Listen 80

ist eingefügt. Jetzt gehts wieder allerdings natürlich nur wieder mit nicht sicherer Verbindung.

BillMaier schrieb:

TheRealDomm schrieb:

Okay also ich hab das jetzt alles so gemacht bis auf die Einstellung in der 'ports.conf'

Was steht da jetzt?

Listen 80

<IfModule ssl_module>
        Listen 443
</IfModule>

<IfModule mod_gnutls.c>
        Listen 443
</IfModule>

http und https sind unterschiedliche Wege. Wenn du den Browser zwingen willst, von http nach https zu wechseln (gute Idee 👍 ), machst du das über einen redirect oder einen rewrite in dem vHost, der auf Port 80 lauscht. Dann lauscht auf Port 80 nur die redirect-Regel und auf 443 deine Seite.

Wäre gut das kann ich mir dann ja mal ergoogeln. Wenn ich damit nicht klar komm frage ich nochmal.

LG TheRealDomm

BillMaier Team-Icon

Supporter

Anmeldungsdatum:
4. Dezember 2008

Beiträge: 6497

TheRealDomm schrieb:

Wäre gut das kann ich mir dann ja mal ergoogeln. Wenn ich damit nicht klar komm frage ich nochmal.

so mache du. 😉

TheRealDomm

(Themenstarter)

Anmeldungsdatum:
4. Oktober 2018

Beiträge: 7

So Redirect läuft und alles passt. Danke euch beiden nochmal für die Hilfe.

LG TheRealDomm

Antworten |