Score:2

Searx (ขึ้นอยู่กับ Nginx) ใบรับรอง SSL "Let's Encrypt" ไม่ถูกต้องสำหรับ Safari (iPhone และ MacOS) ใช้ได้กับส่วนที่เหลือของโลก

ธง eg

ฉันมีการติดตั้ง Searx (https://searx.me/) ที่: https://ricercaalternativa.mydissent.net/

มันทำงานอย่างถูกต้องกับ Letsencrypt มาหลายปีแล้วอย่างไรก็ตาม เมื่อไม่กี่วันที่ผ่านมา ใบรับรองที่ Letsencrypt มอบให้นั้นเข้ากันได้กับทุกสิ่ง ยกเว้น Apple (Safari บน iPhone และบน macOS)

การทดสอบนี้แสดง "ปัญหาลูกโซ่": https://www.ssllabs.com/ssltest/analyze.html?d=ricercaalternativa.mydissent.net

ฉันไม่ทราบวิธีแก้ปัญหา (และจริงๆ แล้วความหมายของปัญหานี้คืออะไร) เนื่องจากการติดตั้งใบรับรอง SSL เป็นแบบอัตโนมัติทั้งหมดด้วยสคริปต์ Bash ต่อไปนี้:

#!/bin/bash
YOUR_DOMAIN="ricercaalternativa.mydissent.net"
certbot certonly -d ${YOUR_DOMAIN} --manual --preferred-challenges DNS
บริการ uwsgi เริ่มต้นใหม่
บริการ nginx เริ่มต้นใหม่

อย่างไรก็ตาม, --ที่ต้องการท้าทาย DNS ดูเหมือนไม่สนใจ: ไม่ขอให้ฉันปรับใช้ระเบียน DNS นี่คือผลลัพธ์:

# ./updateSSL.sh 
บันทึกบันทึกการดีบักไปที่ /var/log/letsencrypt/letsencrypt.log
ปลั๊กอินที่เลือก: คู่มือตัวรับรองความถูกต้อง ไม่มีตัวติดตั้ง
ใบรับรองยังไม่ถึงกำหนดต่ออายุ

คุณมีใบรับรองที่มีอยู่ซึ่งมีโดเมนหรือชื่อใบรับรองเดียวกันกับที่คุณขอทุกประการ และไม่ใกล้จะหมดอายุ
(อ้างอิง: /etc/letsencrypt/renewal/ricercaalternativa.mydissent.net.conf)

คุณอยากจะทำอะไร?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: เก็บใบรับรองที่มีอยู่ไว้ตอนนี้
2: ต่ออายุ & เปลี่ยนใบรับรอง (จำกัด ~5 ต่อ 7 วัน)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
เลือกหมายเลขที่เหมาะสม [1-2] จากนั้น [ป้อน] (กด 'c' เพื่อยกเลิก): 2
การต่ออายุใบรับรองที่มีอยู่

หมายเหตุสำคัญ:
 - ยินดีด้วย! ใบรับรองและห่วงโซ่ของคุณได้รับการบันทึกไว้ที่:
   /etc/letsencrypt/live/ricercaalternativa.mydissent.net/fullchain.pem
   ไฟล์คีย์ของคุณได้รับการบันทึกไว้ที่:
   /etc/letsencrypt/live/ricercaalternativa.mydissent.net/privkey.pem
   ใบรับรองของคุณจะหมดอายุในวันที่ 2022-01-05 เพื่อให้ได้ใหม่หรือปรับแต่ง
   เวอร์ชันของใบรับรองนี้ในอนาคต เพียงเรียกใช้ certbot
   อีกครั้ง.หากต้องการต่ออายุใบรับรอง *ทั้งหมด* แบบไม่โต้ตอบ ให้เรียกใช้
   "certbot ต่ออายุ"
 - หากคุณชอบ Certbot โปรดพิจารณาสนับสนุนงานของเราโดย:

   บริจาคให้กับ ISRG / Let's Encrypt: https://letsencrypt.org/donate
   บริจาคให้ EFF: https://eff.org/donate-le

นี่คือเวอร์ชันของ certbot:

# นโยบาย apt-cache certbot | ติดตั้ง grep แล้ว
  ติดตั้งแล้ว: 0.31.0-2~deb10u1+ubuntu18.04.1+certbot+3

Score:1
ธง tz

ปัญหาของคุณเกิดจากการที่เว็บเซิร์ฟเวอร์ของคุณไม่ได้ส่งใบรับรองลูกโซ่ใดๆ พร้อมกับใบรับรองใบของคุณ นี่คือสิ่งที่การทดสอบ SSL Labs พยายามบอกคุณเมื่อมีข้อความว่า "ห่วงโซ่ใบรับรองของเซิร์ฟเวอร์นี้ไม่สมบูรณ์"

เบราว์เซอร์และไคลเอนต์อื่นๆ ต้องคาดเดาวิธีการยืนยันใบรับรองที่คุณส่ง และบางอันก็มีความสามารถ/ผ่อนปรนมากกว่าอันอื่นในการทำเช่นนี้ ซาฟารีไม่ใช่ สิ่งนี้เพิ่งเริ่มเกิดขึ้นเมื่อเร็ว ๆ นี้เนื่องจากใบรับรอง Root CA หมดอายุเมื่อเร็ว ๆ นี้

ในการกำหนดค่า nginx ของคุณ คุณน่าจะมีบรรทัดเช่น:

ssl_certificate /etc/letsencrypt/live/ricercaalternativa.mydissent.net/cert.pem;

ถ้าเป็นเช่นนั้น เปลี่ยน ใบรับรอง.pem ถึง fullchain.pem และรีสตาร์ท nginx จากนั้นตรวจสอบอีกครั้งผ่าน SSL Labs และดูสิ่งที่กล่าวถึงเกี่ยวกับเชนของคุณ

Francesco Galgani avatar
eg flag
ขอบคุณมาก Ryan โซลูชันที่คุณเสนอทำงานได้อย่างสมบูรณ์ เพื่อความครบถ้วนของข้อมูลสำหรับผู้ที่มองหาวิธีแก้ปัญหานี้ ผมหาคำอธิบายเชิงทฤษฎีเล็กๆ น้อยๆ นี้: https://support.dnsimple.com/articles/what-is-ssl-certificate-chain/ เกี่ยวกับไฟล์ที่จะแก้ไข สำหรับการติดตั้งมาตรฐานของ searx คือ: /etc/nginx/sites-enabled/searx-ssl

โพสต์คำตอบ

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