Как настроить Nginx для веб-сайта Laravel на использование SSL с Let’s Encrypt на фокальном сервере Ubuntu с php8.0?

#laravel #nginx #ssl #lets-encrypt

#laravel #nginx #ssl #позволяет зашифровать

Вопрос:

В настоящее время я использую приведенную ниже конфигурацию по умолчанию, предоставленную Laravel здесь:

 server {
    listen 80;
    server_name www.example.com;
    root /srv/www/example/public;

    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-XSS-Protection "1; mode=block";
    add_header X-Content-Type-Options "nosniff";

    index index.php;

    charset utf-8;

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

    location = /favicon.ico { access_log off; log_not_found off; }
    location = /robots.txt  { access_log off; log_not_found off; }

    error_page 404 /index.php;

    location ~ .php$ {
        fastcgi_pass unix:/var/run/php/php8.0-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~ /.(?!well-known).* {
        deny all;
    }
}
 

Какую конфигурацию я должен использовать вместо этого, чтобы переключиться на SSL с Let’s Encrypt?

При этой текущей конфигурации при запуске я certbot получаю сообщение об ошибке ниже:

 ~  sudo certbot --nginx -d www.example.com
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator nginx, Installer nginx
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for www.example.com
Waiting for verification...
Challenge failed for domain www.example.com
http-01 challenge for www.example.com
Cleaning up challenges
Some challenges have failed.

IMPORTANT NOTES:
 - The following errors were reported by the server:

   Domain: www.example.com
   Type:   unauthorized
   Detail: Invalid response from
   http://www.example.com/.well-known/acme-challenge/KLiVD9nJaMVqJoljNziftqSJXFXCEXsV5mf_d9WthdM
   [123.123.123.3]: "<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML
   2.0//EN">n<html><head>n<title>404 Not
   Found</title>n</head><body>n<h1>Not Found</h1>n<p"

   To fix these errors, please make sure that your domain name was
   entered correctly and the DNS A/AAAA record(s) for that domain
   contain(s) the right IP address.
 

При сканировании портов из-за пределов моей сети я получаю:

 $ nmap 123.123.123.3
Starting Nmap 7.70 ( https://nmap.org ) at 2020-12-14 11:13 CET
Nmap scan report for 213.163.173.3
Host is up (0.0061s latency).
Not shown: 997 filtered ports
PORT    STATE  SERVICE
80/tcp  open   http
113/tcp closed ident
443/tcp open   https
 

Комментарии:

1. просто введите sudo certbot его, и вы получите все доступные доменные имена

2. @KamleshPaul После выбора моего домена в списке я все еще получаю то же сообщение об ошибке

3. затем please make sure that your domain name was entered correctly and the DNS A/AAAA record(s) for that domain contain(s) the right IP address.

4. Веб-сайт отлично работает без SSL, я думаю, достаточно сказать, что доменное имя и ip установлены правильно

5. нет, вам также нужно проверить запись AAAA, вам нужно перепроверить оба