Das Hinzufügen eines Letsencrypt-Zertifikats hat die Nginx-Konfiguration beschädigt

Das Hinzufügen eines Letsencrypt-Zertifikats hat die Nginx-Konfiguration beschädigt

Ich habe Nginx auf Ubuntu 16.04 mit mehreren eingerichteten virtuellen Hosts. Nachdem ich mithilfe von certbot ein LetsEncrypt-Zertifikat hinzugefügt habe, kann ich nicht mehr über www.example.com auf meine Site zugreifen. Der Zugriff auf example.com funktioniert mit beiden Protokollen einwandfrei. Wenn ich mit einem der Protokolle auf www.example.com gehe, gibt der Server den Standardserverblock zurück. Hier ist mein Serverblock in den Nginx-Konfigurationsdateien:

server {

listen [::]:443 ssl ipv6only=on; # managed by Certbot
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

    root /var/www/example/public;

    # Add index.php to the list if you are using PHP
    index index.php index.html index.htm index.nginx-debian.html;

    server_name example.com www.example.com;

     location / {
    try_files $uri $uri/ /index.php?$query_string;
}

location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
}

location ~ /\.ht {
    deny all;
}
}
server {
listen 80;

server_name example.com www.example.com;
return 302 https://example.com$request_uri;
}

Ich möchte, dass der Server antwortet aufhttps://www.example.comODERhttp://www.example.comgenauso wie es derzeit reagiert aufhttps://example.com

Antwort1

Ich poste die Antwort, um anderen zu helfen, die möglicherweise in die gleiche Situation geraten.

Überprüfen Sie unbedingt alle virtuellen Hostdateien. In meinem Fall hatte Certbot einen Serverblock für die WWW-Version meiner Site in die virtuelle Hostdatei von DigitalOcean geschrieben. Ich habe diesen Serverblock gelöscht und der obige Code funktionierte wie erwartet.

Sie können Ihre Konfiguration wie folgt testen, um festzustellen, ob bei Ihnen das gleiche Problem vorliegt:

  • laufensudo nginx -t
  • Wenn oben etwas über einen Konflikt mit dem Servernamen angezeigt wird, suchen Sie nach dem Block „Duplicate Server“

ich hoffe das hilft

verwandte Informationen