reverseproxy mit 100 Jahre gültigem SSL Zertifikat
Beschreibung:
Diese Konfiguration dient zum hinzufügen bestehender Docker Anwendungen um diese mit einem selbst signierten SSL Zertifikat via HTTPS zu sichern
Installation
docker compose datei.
Den parameter :
depends_on:
- web
services:
web:
...
irgendein webdienst der auf port 80 läuft.
hier bei den ports unbedingt die Port binding für port 80 und 443 deaktivieren falls vorhanden.
zu finden in der Port Sektion falls definiert
...
nginx:
image: nginx:stable
container_name: nginx-proxy
volumes:
- ./nginx-proxy.conf:/etc/nginx/nginx.conf:ro
- ./certs/selfsigned.crt:/etc/ssl/certs/selfsigned.crt:ro
- ./certs/private.key:/etc/ssl/private/private.key:ro
ports:
- "80:80"
- "443:443"
depends_on:
- web
restart: always
...
fortsetzung der composer datei
Nun ein unterverzeichnis certs im Projektverzeichnis erstellen
mkdir /root/<projektname>/certs
Nun die nginx config erstellen
nano /root/<projektname>/nginx-proxy.conf
Inhalt
Die Parameter :
proxy_pass http://web:80; mit dem Namen des Container Dienstes ersetzten
client_max_body_size 100M; die Größe für maximales Post Upload, sprich wie groß eine Upload Datei sein darf defienieren
events {
worker_connections 1024;
}
http {
server {
listen 80;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
ssl_certificate /etc/ssl/certs/selfsigned.crt;
ssl_certificate_key /etc/ssl/private/private.key;
location / {
proxy_pass http://web:80;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
client_max_body_size 100M;
}
}
}
Nun das Zertifikat erstellen
openssl req -newkey rsa:4096 -x509 -sha256 -days 365000 -nodes -out /root/<projektname>/certs/selfsigned.crt -keyout /root/<projektname>/certs/private.key
Nun den den container starten und fertig ist der reverse proxy
docker-compose up -d