Score:0

เกิดข้อผิดพลาดในหลายโดเมนด้วย nginx เมื่อเพิ่มใบรับรอง certboot

ธง in

ฉันใช้เซิร์ฟเวอร์ Ubuntu 20.04 บน Azure กับ Nginx, PHP-FPM และสองเว็บไซต์
ไซต์คือ example.com และ sub.example.com และมีใบรับรองที่ออกโดย certbot และใช้งานได้ดี
ฉันเพิ่มไซต์ที่สามด้วยโดเมนอื่น example2.com และใช้งานได้ดี แต่เมื่อฉันเพิ่ม certbot ในเว็บไซต์ที่สามนี้ พวกเขาทั้งหมดหยุดทำงาน และ Nginx ไม่หยุดและไม่แสดงข้อผิดพลาดใดๆ ฉันเพิ่มใบรับรองโดยใช้สิ่งนี้

sudo certbot --Nginx -d example.com -d www.example.com    
sudo certbot --nginx -d sub.example.com

จนกระทั่งที่นี่ตกลง และไซต์ทำงานได้ดีในช่วงห้าเดือนที่ผ่านมา

จากนั้นฉันเพิ่มเว็บไซต์ใหม่และทำงานได้ดีสองแห่ง แต่เมื่อฉันเพิ่ม certbot เว็บไซต์ทั้งหมดหยุดทำงาน แต่ nginx ยังคงทำงานโดยไม่มีข้อผิดพลาด

sudo certbot --nginx -d example2.com -d www.example2.com

การตรวจสอบ Nginx:

sudo nginx -t
nginx: ไฟล์การกำหนดค่า /etc/nginx/nginx.conf ไวยากรณ์ใช้ได้
nginx: การทดสอบไฟล์การกำหนดค่า /etc/nginx/nginx.conf สำเร็จ

ไซต์จะทำงานได้อีกครั้งหากฉันลบใบรับรองออกจากไซต์ที่สามเท่านั้น

sudo sudo certbot ลบ --cert-name example2.com

ฉันขอโทษ ฉันพยายามใช้ภาษาอังกฤษให้ดีที่สุด

เซิร์ฟเวอร์บล็อกไซต์ 1

เซิร์ฟเวอร์ {
        รูท /var/www/example.com/html;
        ดัชนี index.php index.html index.htm index.nginx-debian.html;
        server_name example.com www.example.com;
        ที่ตั้ง / {
                try_files $uri $uri/ /index.php?$args;
        }
        ตำแหน่ง ~ \.php$ {
                try_files $uri =404;
                fastcgi_pass ยูนิกซ์:/run/php/php7.4-fpm.sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                รวม fastcgi_params;
  }

    ฟัง [::]:443 ssl ipv6only=เปิด; # จัดการโดย Certbot
    ฟัง 443 ssl; # จัดการโดย Certbot
    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # จัดการโดย Certbot
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # จัดการโดย Certbot
    รวม /etc/letsencrypt/options-ssl-nginx.conf; # จัดการโดย Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # จัดการโดย Certbot


}
เซิร์ฟเวอร์ {
    ถ้า ($host = www.example.com) {
        ส่งคืน 301 https://$host$request_uri;
    } # จัดการโดย Certbot


    ถ้า ($host = example.com) {
        ส่งคืน 301 https://$host$request_uri;
    } # จัดการโดย Certbot
        ฟัง 80 default_server;
        ฟัง [::]:80 default_server;
        server_name example.com www.example.com;
    กลับ 404; # จัดการโดย Certbot
}

เซิร์ฟเวอร์บล็อกไซต์ 2 (ไซต์โดเมนย่อย 1)

เซิร์ฟเวอร์ {
        รูท /var/www/sub.example.com/html;
        ดัชนี index.php index.html index.htm index.nginx-debian.html;
        server_name sub.example.com;
        ที่ตั้ง / {
                try_files $uri $uri/ /index.php?$args;
        }
        ตำแหน่ง ~ \.php$ {
                try_files $uri =404;
                fastcgi_pass ยูนิกซ์:/run/php/php7.4-fpm.sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                รวม fastcgi_params;
        }
    ฟัง 443 ssl; # จัดการโดย Certbot
    ssl_certificate /etc/letsencrypt/live/sub.example.com/fullchain.pem; # จัดการโดย Certbot
    ssl_certificate_key /etc/letsencrypt/live/sub.example.com/privkey.pem; # จัดการโดย Certbot
# รวม /etc/letsencrypt/options-ssl-nginx.conf; # จัดการโดย Certbot
# ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # จัดการโดย Certbot

}
เซิร์ฟเวอร์ {
    ถ้า ($host = sub.example.com) {
        ส่งคืน 301 https://$host$request_uri;
    } # จัดการโดย Certbot
        ฟัง 80;
        server_name sub.example.com;
กลับ 404; # จัดการโดย Certbot
}

เซิร์ฟเวอร์บล็อกไซต์ 3

เซิร์ฟเวอร์ {
        รูท /var/www/example2.com/html;
        ดัชนี index.php index.html index.htm index.nginx-debian.html;
        server_name example2.com www.example2.com;
        ที่ตั้ง / {
                try_files $uri $uri/ =404;
        }
        ตำแหน่ง ~ \.php$ {
                try_files $uri =404;
                fastcgi_pass ยูนิกซ์:/run/php/php7.4-fpm.sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                รวม fastcgi_params;
  }
    ฟัง 443 ssl; # จัดการโดย Certbot
    ssl_certificate /etc/letsencrypt/live/example2.com/fullchain.pem; # จัดการโดย Certbot
    ssl_certificate_key /etc/letsencrypt/live/example2.com/privkey.pem; # จัดการโดย Certbot
    รวม /etc/letsencrypt/options-ssl-nginx.conf; # จัดการโดย Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # จัดการโดย Certbot


}
เซิร์ฟเวอร์ {
    ถ้า ($host = www.example2.com) {
        ส่งคืน 301 https://$host$request_uri;
    } # จัดการโดย Certbot


    ถ้า ($host = example2.com) {
        ส่งคืน 301 https://$host$request_uri;
    } # จัดการโดย Certbot

        ฟัง 80;

        server_name example2.com www.example2.com
    กลับ 404; # จัดการโดย Certbot

}

jp flag
คุณต้องอธิบายว่าคุณจะได้รับอะไรเมื่อไซต์ของคุณ "หยุดทำงาน"

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา