Hey,
In diesem Beitrag erkläre ich euch die Einrichtung von SSL Zertifikaten für Domains.
Dafür benötigen wir eine Domain und Certbot. Wir zeigen hier wie man das am besten mit Cloudflare lösen kann.
Die Befehle sind für Ubuntu, sollten aber auch auf anderen Betriebssystem so oder ähnlich funktionieren.
## Snap store für Certbot installieren
apt install snapd && snap install snap-store
# Certbot installieren
snap install –classic certbot
# Phython für Cloudflare-DNS für Certbot installieren
apt install python3-pip -y
# Cloudflare DNS installieren
pip3 install certbot-dns-cloudflare
# .secrets Ordner erstellen
mkdir /root/.secrets/
# API Token von Cloudflare einfügen
Dafür erstellen wir eine cloudflare.ini Datei und fügen unsere Daten wie folgt ein:
dns_cloudflare_api_token = "derApiTokenhier"
# Berechtigungen für .secrets Ordner setzen
chmod 0700 /root/.secrets/ -R
chmod 0400 /root/.secrets/* -R
# Zertifikat erstellen
certbot certonly –dns-cloudflare –dns-cloudflare-credentials /root/.secrets/cloudflare.ini -d yourmcshop.com,*.yourmcshop.com –preferred-challenges dns-01
# Jetzt kann die NGINX Konfiguration angepasst werden (z.B. http://www.yourmcshop.com)
server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name yourmcshop.com www.yourmcshop.com; root /var/www/www.yourmcshop.com; index index.php; # Logs (access and errors) error_log /var/log/nginx/www.yourmcshop.com/error.log info; access_log /var/log/nginx/www.yourmcshop.com/access.log; ssl_certificate /etc/letsencrypt/live/yourmcshop.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/yourmcshop.com/privkey.pem; ssl_session_timeout 1d; ssl_session_cache shared:SSL:50m; ssl_session_tickets off; # See https://ssl-config.mozilla.org/#server=nginx for the latest ssl settings recommendations # An example config is given below ssl_protocols TLSv1.2; ssl_ciphers HIGH:!aNULL:!MD5:!SHA1:!kRSA; ssl_prefer_server_ciphers off; client_body_buffer_size 100M; client_max_body_size 30M; location / { try_files $uri $uri/ /index.php?$args; } location ~* \.php$ { fastcgi_pass unix:/run/php/php7.4-fpm.sock; include fastcgi_params; fastcgi_intercept_errors on; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $fastcgi_script_name; fastcgi_index index.php; } #Hide the nginx version. server_tokens off; #Hide the PHP version. fastcgi_hide_header X-Powered-By; proxy_hide_header X-Powered-By; autoindex off; }