SSL einrichten

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.

  1. Apache web Server installieren:
root@ipsdev:~# apt-get install apache2
  1. „Self Signed Certificate“ erstellen:
    Nachteil: diesem Zertifikat wird nicht automatisch vertraut
    Vorteil: Kostet nix :smiley:

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.

  1. 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>

  1. Reverse Proxy aktivieren:
root@ipsdev:/etc/apache2/mycert# a2enmod proxy proxy_http
  1. 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

  1. 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

das solltest du dann im subject auch machen ;).

merci :eek:

Thorsten