ฉันจัดการเซิร์ฟเวอร์ NodeJS ด้วยใบรับรอง SSL ที่ออกโดย Let's Encrypt มันใช้งานได้กับไคลเอนต์บางตัว (Safari และ Firefox บน macOS ของฉัน) และไม่ใช่ตัวอื่น ( curlบน macOS ของฉัน, Safari บน iOS) ประกาศบน iOS คือ:

Not trusted

Expired 30/09/21 07:01:15

ประกาศเรื่องcurlคือ

curl: (60) SSL certificate problem: certificate has expired
More details here: https://curl.haxx.se/docs/sslcerts.html

curl performs SSL certificate verification by default, using a "bundle" of Certificate Authority (CA) public keys (CA certs). If the default bundle file isn't adequate, you can specify an alternate file using the --cacert option.

การตรวจสอบใบรับรองแสดงว่าวันที่ถูกต้อง ฉันพบคำเตือนนี้จาก Let's Encrypt:

The DST Root CA X3 root certificate expired September 30 14:01:15 2021 GMT.

...

If your site is working for most devices but not for some, the problem is with their trust store (their list of trusted root certificate).

...

macOS, iOS etc

Some operating systems hold onto the expired R3 > DST Root CA X3 chain even if your server is no longer using it. Try a restart of the affected client device.

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

เว็บไซต์ที่เป็นwww.emotionathletes.og

ฉันจะแน่ใจได้อย่างไรว่าลูกค้าทั้งหมดได้รับใบรับรองที่ถูกต้องและสามารถเยี่ยมชมเว็บไซต์ได้

answer

เนื่องจากคุณไม่สามารถควบคุมลูกค้าของคุณได้ วิธีที่ปลอดภัยที่สุดคือเริ่มใช้ใบรับรองที่ออกโดย CA อื่นๆ

CA หนึ่งที่เป็นไปได้คือ ZeroSSL ( https://zerossl.com ) พวกเขายังเสนอใบรับรองผ่านโปรโตคอล ACME โดยไม่มีค่าธรรมเนียมใด ๆ เช่น Let's Encrypt ( https://zerossl.com/letsencrypt-alternative/ ) และมีความเข้ากันได้ดีกับอุปกรณ์รุ่นเก่า ( https://help.zerossl.com/hc/en -us/articles/360058294074-ZeroSSL-Compatibility-List )

หากคุณใช้เครื่องมือบรรทัดคำสั่ง certbot เพื่อจัดการใบรับรอง Let's Encrypt อยู่แล้ว คุณสามารถเพิ่มสวิตช์เพิ่มเติมเพื่อเริ่มออกใบรับรอง ZeroSSL แทนได้:

$ certbot ... --server https://acme.zerossl.com/v2/DV90 --eab-kid XXX --eab-hmac-key YYY

คุณสามารถรับค่า--eab-kidและ--eab-hmac-keyค่าได้จากเว็บไซต์ ZeroSSL หลังจากที่คุณได้ลงทะเบียนบัญชีสำหรับตัวคุณเองแล้ว