Das SSL-Zertifikat muss auf dem NginX-Proxy installiert sein. Der NginX-Proxy ist derjenige, der den externen Verkehr überwacht und dann die Anfragen an den entsprechenden Docker-Container weiterleitet. Der NginX-Server agiert also als Vermittler zwischen den Clienten und dem Nextcloud-Server, wodurch die Anfragen von außen nicht direkt an den Nextcloud-Server weitergeleitet werden, sondern zunächst über den NginX-Server laufen.
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/nginx/ssl/example.com.crt;
ssl_certificate_key /etc/nginx/ssl/example.com.key;
# SSL-Protokolle und Cipher-Suiten konfigurieren (optional)
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
location / {
proxy_pass http://nextcloud-container:8080;
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;
}
}