Score:0

ไม่สามารถเชื่อมต่อกับไซต์ผ่าน HTTPS (SSL_ERROR_SYSCALL)

ธง cn

ฉันมีเซิร์ฟเวอร์ที่ใช้ Debian 8 ใช่ ค่อนข้างเก่า แต่มีบางอย่างที่แปลกมากเกี่ยวกับเรื่องนี้ ฉันไม่สามารถเชื่อมต่อผ่าน HTTPS:

$ curl -sSLv https://example.com
* ลอง xx.yyy.xx.yyy:443...
* เชื่อมต่อกับ example.com (xx.yyy.xx.yyy) พอร์ต 443 (#0)
* ALPN ให้บริการ h2
* ALPN ให้บริการ http/1.1
* ไฟล์ CA: /etc/ssl/certs/ca-certificates.crt
* CApath: ไม่มี
} [ข้อมูล 5 ไบต์]
* TLSv1.3 (ออก), การจับมือ TLS, สวัสดีลูกค้า (1):
} [ข้อมูล 512 ไบต์]
* OpenSSL SSL_connect: SSL_ERROR_SYSCALL ในการเชื่อมต่อกับ example.com:443 
* ปิดการเชื่อมต่อ 0
curl: (35) OpenSSL SSL_connect: SSL_ERROR_SYSCALL ในการเชื่อมต่อกับ example.com:443 

ตัวอย่าง $sslscan.com
เวอร์ชัน: 2.0.11
OpenSSL 1.1.1m 14 ธ.ค. 2021

เชื่อมต่อกับ xx.yyy.xx.yyy

ทดสอบเซิร์ฟเวอร์ SSL example.com บนพอร์ต 443 โดยใช้ชื่อ SNI example.com

  โปรโตคอล SSL/TLS:
ปิดใช้งาน SSLv2
ปิดใช้งาน SSLv3
ปิดใช้งาน TLSv1.0
ปิดใช้งาน TLSv1.1
ปิดใช้งาน TLSv1.2
ปิดใช้งาน TLSv1.3

  TLS สำรอง SCSV:
การเชื่อมต่อล้มเหลว - ไม่สามารถระบุการรองรับ TLS Fallback SCSV

  การเจรจาใหม่ TLS:
ไม่สนับสนุนการเจรจาต่อรองใหม่ของเซสชัน

  การบีบอัด TLS:
เวอร์ชัน OpenSSL ไม่รองรับการบีบอัด
สร้างใหม่ด้วยแพ็คเกจ zlib1g-dev เพื่อรองรับ zlib

  เลือดออก:

  รหัสเซิร์ฟเวอร์ที่รองรับ:
ไม่สามารถดึงข้อมูลใบรับรองได้

$dpkg -l | grep opensl
ii opensl 1.0.1t-1+deb8u12 amd64 ชุดเครื่องมือ Secure Sockets Layer - ยูทิลิตี้เข้ารหัส

$ cat /etc/nginx/nginx.conf | grep ssl
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # วาง SSLv3 อ้างอิง: พุดเดิ้ล
    เปิด ssl_prefer_server_ciphers;

$dpkg -l | grep nginx
ii nginx 1.6.2-5 เว็บ/พร็อกซีเซิร์ฟเวอร์ขนาดเล็กที่ทรงพลังและปรับขนาดได้ทั้งหมด
ii nginx-common 1.6.2-5 เซิร์ฟเวอร์เว็บ/พร็อกซีขนาดเล็กที่ทรงพลังและปรับขนาดได้ทั้งหมด - ไฟล์ทั่วไป
ii nginx-full 1.6.2-5 amd64 เว็บ/พร็อกซีเซิร์ฟเวอร์ nginx (เวอร์ชันมาตรฐาน)

ในการเปรียบเทียบกับเซิร์ฟเวอร์ Debian 8 อื่น:

$sslscan example2.com
เวอร์ชัน: 2.0.11
OpenSSL 1.1.1m 14 ธ.ค. 2021

เชื่อมต่อกับ xx.xxx.xx.xxx

ทดสอบเซิร์ฟเวอร์ SSL example2.com บนพอร์ต 443 โดยใช้ชื่อ SNI example2.com

  โปรโตคอล SSL/TLS:
ปิดใช้งาน SSLv2
ปิดใช้งาน SSLv3
เปิดใช้งาน TLSv1.0
เปิดใช้งาน TLSv1.1 แล้ว
เปิดใช้งาน TLSv1.2
ปิดใช้งาน TLSv1.3

  TLS สำรอง SCSV:
เซิร์ฟเวอร์รองรับ TLS Fallback SCSV

  การเจรจาใหม่ TLS:
รองรับการเจรจาเซสชันใหม่อย่างปลอดภัย

  การบีบอัด TLS:
เวอร์ชัน OpenSSL ไม่รองรับการบีบอัด
สร้างใหม่ด้วยแพ็คเกจ zlib1g-dev เพื่อรองรับ zlib

  เลือดออก:
TLSv1.2 ไม่เสี่ยงต่อ heartbleed
TLSv1.1 ไม่เสี่ยงต่อ heartbleed
TLSv1.0 ไม่เสี่ยงต่อ heartbleed

  รหัสเซิร์ฟเวอร์ที่รองรับ:
TLSv1.2 ที่ต้องการ 256 บิต ECDHE-RSA-AES256-GCM-SHA384 Curve P-256 DHE 256
ยอมรับ TLSv1.2 256 บิต ECDHE-RSA-AES256-SHA384 Curve P-256 DHE 256
ยอมรับ TLSv1.2 256 บิต ECDHE-RSA-AES256-SHA Curve P-256 DHE 256
ยอมรับ TLSv1.2 256 บิต DHE-RSA-AES256-GCM-SHA384 DHE 1024 บิต
ยอมรับ TLSv1.2 256 บิต DHE-RSA-AES256-SHA256 DHE 1024 บิต
ยอมรับ TLSv1.2 256 บิต DHE-RSA-AES256-SHA DHE 1024 บิต
ยอมรับ TLSv1.2 256 บิต DHE-RSA-CAMELLIA256-SHA DHE 1024 บิต
ยอมรับ TLSv1.2 256 บิต AES256-GCM-SHA384            
ยอมรับ TLSv1.2 256 บิต AES256-SHA256                
ยอมรับ TLSv1.2 256 บิต AES256-SHA                   
ยอมรับ TLSv1.2 256 บิต CAMELLIA256-SHA              
ยอมรับ TLSv1.2 128 บิต ECDHE-RSA-AES128-GCM-SHA256 Curve P-256 DHE 256
ยอมรับ TLSv1.2 128 บิต ECDHE-RSA-AES128-SHA256 Curve P-256 DHE 256
ยอมรับ TLSv1.2 128 บิต ECDHE-RSA-AES128-SHA Curve P-256 DHE 256
ยอมรับ TLSv1.2 128 บิต DHE-RSA-AES128-GCM-SHA256 DHE 1024 บิต
ยอมรับ TLSv1.2 128 บิต DHE-RSA-AES128-SHA256 DHE 1024 บิต
ยอมรับ TLSv1.2 128 บิต DHE-RSA-AES128-SHA DHE 1024 บิต
ยอมรับ TLSv1.2 128 บิต DHE-RSA-CAMELLIA128-SHA DHE 1024 บิต
ยอมรับ TLSv1.2 128 บิต AES128-GCM-SHA256            
ยอมรับ TLSv1.2 128 บิต AES128-SHA256                
ยอมรับ TLSv1.2 128 บิต AES128-SHA                   
ยอมรับ TLSv1.2 128 บิต CAMELLIA128-SHA              
TLSv1.1 ที่ต้องการ 256 บิต ECDHE-RSA-AES256-SHA Curve P-256 DHE 256
ยอมรับ TLSv1.1 256 บิต DHE-RSA-AES256-SHA DHE 1024 บิต
ยอมรับ TLSv1.1 256 บิต DHE-RSA-CAMELLIA256-SHA DHE 1024 บิต
ยอมรับ TLSv1.1 256 บิต AES256-SHA                   
ยอมรับ TLSv1.1 256 บิต CAMELLIA256-SHA              
ยอมรับ TLSv1.1 128 บิต ECDHE-RSA-AES128-SHA Curve P-256 DHE 256
ยอมรับ TLSv1.1 128 บิต DHE-RSA-AES128-SHA DHE 1024 บิต
ยอมรับ TLSv1.1 128 บิต DHE-RSA-CAMELLIA128-SHA DHE 1024 บิต
ยอมรับ TLSv1.1 128 บิต AES128-SHA                   
ยอมรับ TLSv1.1 128 บิต CAMELLIA128-SHA              
ที่ต้องการ TLSv1.0 256 บิต ECDHE-RSA-AES256-SHA Curve P-256 DHE 256
ยอมรับ TLSv1.0 256 บิต DHE-RSA-AES256-SHA DHE 1024 บิต
ยอมรับ TLSv1.0 256 บิต DHE-RSA-CAMELLIA256-SHA DHE 1024 บิต
ยอมรับ TLSv1.0 256 บิต AES256-SHA                   
ยอมรับ TLSv1.0 256 บิต CAMELLIA256-SHA              
ยอมรับ TLSv1.0 128 บิต ECDHE-RSA-AES128-SHA Curve P-256 DHE 256
ยอมรับ TLSv1.0 128 บิต DHE-RSA-AES128-SHA DHE 1024 บิต
ยอมรับ TLSv1.0 128 บิต DHE-RSA-CAMELLIA128-SHA DHE 1024 บิต
ยอมรับ TLSv1.0 128 บิต AES128-SHA                   
ยอมรับ TLSv1.0 128 บิต CAMELLIA128-SHA              

  กลุ่มแลกเปลี่ยนคีย์เซิร์ฟเวอร์:
TLSv1.2 128 บิต secp256r1 (NIST P-256)

  ใบรับรอง SSL:
อัลกอริทึมลายเซ็น: sha256WithRSAEncryption
ความแข็งแกร่งของคีย์ RSA: 4096

เรื่อง: example2.com
ชื่อสำรอง: DNS:example2.com
ผู้ออก: R3

ใช้ไม่ได้ก่อน: 17 ธ.ค. 21:00:13 น. 2021 GMT
ใช้ไม่ได้หลังจาก: 17 มีนาคม 21:00:12 น. 2022 GMT

$dpkg -l | grep opensl
ii opensl 1.0.1k-3+deb8u2 amd64 ชุดเครื่องมือ Secure Sockets Layer - ยูทิลิตี้เข้ารหัส

$ cat /etc/nginx/nginx.conf | grep ssl
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # วาง SSLv3 อ้างอิง: พุดเดิ้ล
    เปิด ssl_prefer_server_ciphers;

$dpkg -l | grep nginx
ii nginx 1.6.2-5 เว็บ/พร็อกซีเซิร์ฟเวอร์ขนาดเล็กที่ทรงพลังและปรับขนาดได้ทั้งหมด
ii nginx-common 1.6.2-5 เซิร์ฟเวอร์เว็บ/พร็อกซีขนาดเล็กที่ทรงพลังและปรับขนาดได้ทั้งหมด - ไฟล์ทั่วไป
ii nginx-full 1.6.2-5 amd64 เว็บ/พร็อกซีเซิร์ฟเวอร์ nginx (เวอร์ชันมาตรฐาน)

เกิดอะไรขึ้นกับเซิร์ฟเวอร์แรก? ฉันจะทำให้ https ทำงานได้อย่างไร

cn flag
Bob
เมื่อมองแวบแรก คุณจะแสดงเพียงการสังเกตจากภายนอก แต่ไม่ต้องแสดงวิธีการกำหนดค่าเซิร์ฟเวอร์
Paul avatar
cn flag
โปรดโพสต์การกำหนดค่า nginx แบบเต็มของคุณ
cn flag
@Paul https://gist.github.com/x-yuri/3c3a58bdd6d52b6816192eda6c6c9c91 ไม่มีอะไรผิดปกติเมื่อมองแวบแรก และฉันไม่ค่อยแน่ใจว่าปัญหาอยู่ที่ `nginx`
cn flag
@Bob ฉันไม่แน่ใจว่าปัญหาเกิดขึ้นกับ `nginx` แต่ดูลิงก์ด้านบน
Score:2
ธง cn

หนึ่งในเซิร์ฟเวอร์ (ในแง่ของ จิงซ์) มี ฟัง 443 ssl, แต่ไม่มี ssl_* คำสั่ง ภายใต้สถานการณ์ดังกล่าว คุณจะได้รับอาการที่อธิบายไว้ในคำถาม นั่นคือปัญหากับเซิร์ฟเวอร์เครื่องหนึ่ง (โฮสต์เสมือน) ส่งผลกระทบต่ออีกเซิร์ฟเวอร์หนึ่ง (ส่วนที่เหลือ)

ในบันทึกข้อผิดพลาดของเซิร์ฟเวอร์ที่ผิดพลาด คุณจะเห็น:

12/01/2022 02:44:46 [ข้อผิดพลาด] 445#0: *23 ไม่มีการกำหนด "ssl_certificate" ในเซิร์ฟเวอร์ที่ฟังพอร์ต SSL ขณะจับมือ SSL ลูกค้า: xx.xxx.xx.xxx เซิร์ฟเวอร์: 0.0.0.0 :443

โพสต์คำตอบ

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