Przekierowanie adresu z protokołu niezaszyfrowanego na szyfrowany przy użyciu VirtualHost w Apache (Ubuntu 16.04).

Edytujemy plik, który wskazuje na konfigurację niezaszyfrowaną (port 80)

/etc/apache2/site-enabled/domena.tld.conf

i pod koniec sekcji dodajemy

RewriteEngine on
	RewriteCond %{SERVER_NAME} =domena.tld [OR]
	RewriteCond %{SERVER_NAME} =www.domena.tld
	RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]

lub inny sposób

RewriteEngine On
	RewriteCond %{HTTPS} !on
	RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

Zapisujemy plik i restartujemy serwer Apache

systemctl restart apache2

Taka konfiguracja pozwoli nam przekierować cały ruch na szyfrowany protokół https (port 443) jeśli w przeglądarce wpiszemy domena.tld lub www.domena.tld