Hallo zusammen,
ich war es leid immer mit http und Port 3777 rumzuhampeln :p, und habe mir daher einen Reverse Proxy auf dem Raspberry eingerichtet.
Vielleicht will es einer von euch ja auch. Hier als Beispiel von meiner Dev Instanz:
Alles als root, entweder direkt als root anmelden, mit „sudo su -“ zu root wechseln oder immer ein sudo davor.
- Apache web Server installieren:
root@ipsdev:~# apt-get install apache2
- „Self Signed Certificate“ erstellen:
Nachteil: diesem Zertifikat wird nicht automatisch vertraut
Vorteil: Kostet nix
root@ipsdev:~# mkdir /etc/apache2/mycert
root@ipsdev:~# cd /etc/apache2/mycert
root@ipsdev:/etc/apache2/mycert# openssl genrsa -out ipsymcon.key 1024
Generating RSA private key, 1024 bit long modulus
.++++++
..........++++++
e is 65537 (0x10001)
root@ipsdev:/etc/apache2/mycert# openssl req -new -key ipsymcon.key -out ipsymcon.csr
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:DE
State or Province Name (full name) [Some-State]:Baden-Württemberg
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:IPSymcon
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:ipsdev.fritz.box
Email Address []:<xxx@yyy.de>
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
root@ipsdev:/etc/apache2/mycert# openssl x509 -req -days 3650 -in ipsymcon.csr -signkey ipsymcon.key -out ipsymcon.crt
Signature ok
subject=/C=DE/ST=Baden-W\xC3\x83\xC2\xBCrttemberg/O=IPSymcon/CN=ipsdev.fritz.box/emailAddress=<xxx@yyy.de>
Getting Private key
root@ipsdev:/etc/apache2/mycert# ls -la
insgesamt 5
drwxr-xr-x 2 root root 1024 Mai 24 18:38 .
drwxr-xr-x 8 root root 1024 Mai 24 18:33 ..
-rw-r--r-- 1 root root 920 Mai 24 18:38 ipsymcon.crt
-rw-r--r-- 1 root root 684 Mai 24 18:37 ipsymcon.csr
-rw-r--r-- 1 root root 891 Mai 24 18:34 ipsymcon.key
Ich habe mal meine Mail unkenntlich gemacht. Wichtig ist es bei „Common Name“ den Hostnamen, unter dem der Webserver errichbar sein soll, anzugeben.
- SSL anschalten:
root@ipsdev:/etc/apache2/mycert# a2enmod ssl
Jetzt kann man noch sicherstellen, dass der Port 443 auch definiert ist, sollte aber so sein. In der Datei „/etc/apache2/ports.conf“ muss folgendes enthalten sein:
<IfModule mod_ssl.c>
Listen 443
</IfModule>
- Reverse Proxy aktivieren:
root@ipsdev:/etc/apache2/mycert# a2enmod proxy proxy_http
- reverse proxy konfigurieren:
a) default config entfernen
root@ipsdev:/etc/apache2/mycert# cd ../sites-enabled/
root@ipsdev:/etc/apache2/sites-enabled# rm 000-default
b) neue config anlegen:
In /etc/apache2/sites-available eine neue Datei anlegen (z.B: ipsymcon) mit dem Inhalt:
<VirtualHost *:443>
ServerName ipsdev.fritz.box
SSLProxyEngine On
ProxyPass / http://localhost:3777/
ProxyPassReverse / http://localhost:3777/
SSLEngine on
SSLCertificateFile /etc/apache2/mycert/ipsymcon.crt
SSLCertificateKeyFile /etc/apache2/mycert/ipsymcon.key
</VirtualHost>
natürlich muss der ServerName entsprechend angepasst werden.
c) configuration aktivieren:
root@ipsdev:/etc/apache2/sites-available# cd ../sites-enabled
root@ipsdev:/etc/apache2/sites-enabled# ln -s ../sites-available/ipsymcon
- Apache neu starten
root@ipsdev:/etc/apache2/sites-enabled# /etc/init.d/apache2 restart
Und schon sollte man über https://ipsdev.fritz.box zugreifen können.
Gruß,
Thorsten