ฉันใหม่ในการตั้งค่า SSL ตั้งแต่เริ่มต้นและทำตามขั้นตอนแรกแล้ว ฉันซื้อใบรับรอง SSL จาก RapidSSL สำหรับโดเมนของฉันและทำตามขั้นตอนเพื่อติดตั้งใบรับรอง โดยทั่วไปใบรับรองนั้นใช้ได้และทำงานบนเว็บเซิร์ฟเวอร์ของฉัน (nginx v1.4.6 - Ubuntu 14.04.1 LTS) แต่ถ้าฉันพยายามเปิดใช้งาน OCSP OCSP ฉันได้รับข้อผิดพลาดต่อไปนี้ในข้อผิดพลาด nginx ของฉัน:
OCSP_basic_verify () ล้มเหลว (SSL: ข้อผิดพลาด: 27069065: รูทีน OCSP: OCSP_basic_verify: ข้อผิดพลาดการตรวจสอบใบรับรอง: ตรวจสอบข้อผิดพลาด: ตรวจสอบข้อผิดพลาด: ไม่สามารถรับใบรับรองผู้ออกท้องถิ่น) ในขณะที่ขอสถานะใบรับรองตอบกลับ: gv.symcd.com
ฉันลองด้วยคำสั่งนี้จากบรรทัดคำสั่ง:
openssl s_client -connect mydomain.tld: 443 2> & 1 </ dev / null
และได้รับข้อผิดพลาด "เดียวกัน" เหมือนใน error.log ของฉัน:
[... ] SSL-Session: โปรโตคอล: TLSv1.2 รหัส: ECDHE-RSA-AES256-GCM-SHA384 [... ] เวลาเริ่มต้น: 1411583991 หมดเวลา: 300 (วินาที) ยืนยันรหัสที่ส่งคืน: 20 (ไม่สามารถรับได้ในท้องถิ่น ใบรับรองผู้ออก)
แต่ถ้าดาวน์โหลด GeoTrust Root Certificat และลองด้วยคำสั่งนี้:
openssl s_client - เชื่อมต่อ mydomain.tld: 443 -CAfile GeoTrust_Global_CA.pem 2> & 1 </ dev / null
การยืนยันก็โอเค:
[... ] SSL-Session: Protocol: TLSv1.2 รหัส: ECDHE-RSA-AES256-GCM-SHA384 [... ] เวลาเริ่มต้น: 1411583262 หมดเวลา: 300 (วินาที) ตรวจสอบรหัสที่ส่งคืน: 0 (ok)
ดังนั้นไม่พบ GeoTrust Root Cert
การกำหนดค่าไซต์ nginx ของฉัน:
server {
listen 443;
server_name mydomain.tld;
ssl on;
ssl_certificate /etc/ssl/certs/ssl.crt;
ssl_certificate_key /etc/ssl/private/ssl.key;
# Resumption
ssl_session_cache shared:SSL:20m;
# Timeout
ssl_session_timeout 10m;
# Security options
ssl_prefer_server_ciphers on;
ssl_ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS;
ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
# OCSP Stapling
# It means that you sent status info about your certificate along with the request,
# instead of making the browser check the certificate with the Certificate Authority.
# This removes a large portion of the SSL overhead, the CloudFlare post above explains it in more detail.
ssl_stapling on;
ssl_stapling_verify on;
#ssl_trusted_certificate /etc/ssl/certs/ssl.pem;
#resolver 8.8.8.8 8.8.4.4 valid=300s;
#resolver_timeout 10s;
# This forces every request after this one to be over HTTPS
add_header Strict-Transport-Security "max-age=31536000";[...]};
RapidSSL เขียนในเอกสารของเขาว่าฉันควรเพิ่มใบรับรองต่อไปนี้ลงใน ssl.crt ด้วยลำดับต่อไปนี้:
- myserver.crt
- Bundle CA ระดับกลาง (RapidSSL SHA256 CA - G3)
- Bundle CA ระดับกลาง (GeoTrust Global CA)
ดังนั้นฉันจึง ...
ตอนนี้ฉันไม่รู้ว่าฉันทำอะไรผิด ... หวังว่าทุกคนที่นี่จะช่วยฉันได้
ขอขอบคุณ!