Score:2

nginx กำลังฟังบน ipv6 แต่เว็บไซต์ไม่โหลดด้วยเหตุผลบางประการ

ธง in

ฉันกำลังพยายามทำให้ ipv6 ทำงานบน nginx (nginx/1.19.6) สำหรับ SSL ในการกำหนดค่าโดเมนของฉันฉันมี:

เซิร์ฟเวอร์ {
    ฟัง 93.93.135.169:443 http2;
    ฟัง [::]:443 http2;
    server_name สำรองข้อมูล.myserver.com;
   ....
}

..แล้วสำหรับพอร์ตมาตรฐาน

เซิร์ฟเวอร์ {
    ฟัง 93.93.135.169:80;
    ฟัง [::]:80;
    server_name สำรองข้อมูล.myserver.com ;
    ...
}

Netstat แสดง nginx ว่ากำลังฟังพอร์ต 443 และ 80:

 netstat -tulpn | grep nginx
tcp 0 0 93.93.135.169:80 0.0.0.0:* ฟัง 1168/nginx: หลัก
tcp 0 0 127.0.0.1:8084 0.0.0.0:* ฟัง 1168/nginx: หลัก
tcp 0 0 93.93.135.169:443 0.0.0.0:* ฟัง 1168/nginx: หลัก
tcp 0 0 0.0.0.0:9183 0.0.0.0:* ฟัง 5247/nginx: หลัก
tcp6 0 0 :::80 :::* ฟัง 1168/nginx: master
tcp6 0 0 :::443 :::* ฟัง 1168/nginx: master

ฉันสามารถค้นหาเซิร์ฟเวอร์ที่พบใน ipv4 และ ipv6:

root@admin3:~# ping -4 backups.myserver.com
PING backups.myserver.com (93.93.135.169) ข้อมูล 56(84) ไบต์
64 ไบต์จาก backups.myserver.com (93.93.135.169): icmp_seq=1 ttl=60 เวลา=1.58 ms
^X^ค
--- สถิติ ping ของ backups.myserver.com ---
ส่ง 1 แพ็กเก็ต, 1 ได้รับ, สูญเสียแพ็กเก็ต 0%, เวลา 0ms
rtt นาที/เฉลี่ย/สูงสุด/mdev = 1.575/1.575/1.575/0.000 มิลลิวินาที
root@admin3:~# ping -6 backups.myserver.com
PING backups.myserver.com(2a00:1098:80:a0::1 (2a00:1098:80:a0::1)) ข้อมูล 56 ไบต์
64 ไบต์จาก 2a00:1098:80:a0::1 (2a00:1098:80:a0::1): icmp_seq=1 ttl=61 เวลา=1.55 ms
^X64 ไบต์จาก 2a00:1098:80:a0::1 (2a00:1098:80:a0::1): icmp_seq=2 ttl=61 เวลา=1.74 ms

บน iptables, ฉันเข้าใจ:

iptables --list -n | เกรป 443
ยอมรับ tcp -- 0.0.0.0/0 0.0.0.0/0 หลายพอร์ต dports 80,443

iptables --list -n | เกรป 80
ยอมรับ tcp -- 0.0.0.0/0 0.0.0.0/0 หลายพอร์ต dports 80,443

..และ ip6tables:

ip6tables --list -n | เกรป 80
ยอมรับ tcp ::/0 ::/0 สถานะ NEW tcp dpt:80

ip6tables --list -n | เกรป 443
ยอมรับ tcp ::/0 ::/0 สถานะ NEW tcp dpt:443

ถึงกระนั้น เมื่อฉันทดสอบไซต์บน https://ipv6-test.com/ กับ http, มันได้ผล:

ป้อนคำอธิบายรูปภาพที่นี่

แต่ทันทีที่ฉันลองใช้ SSL ฉันจะได้รับ:

ป้อนคำอธิบายรูปภาพที่นี่

เรียกใช้การทดสอบ curl จากเซิร์ฟเวอร์อื่น ฉันได้รับ:

ขด -v -6 https://backups.myserver.com
* ลอง 2a00:1098:80:a0::1:443...
* ตั้งค่า TCP_NODELAY
* เชื่อมต่อกับ backups.myserver.com (2a00:1098:80:a0::1) พอร์ต 443 (#0)
* ALPN ให้บริการ h2
* ALPN ให้บริการ http/1.1
* ตั้งค่าตำแหน่งการตรวจสอบใบรับรองสำเร็จแล้ว:
* ไฟล์ CA: /etc/ssl/certs/ca-certificates.crt
  CApath: /etc/ssl/certs
* TLSv1.3 (ออก), การจับมือ TLS, สวัสดีลูกค้า (1):
* ข้อผิดพลาด:1408F10B:รูทีน SSL:ssl3_get_record:หมายเลขเวอร์ชันไม่ถูกต้อง
* ปิดการเชื่อมต่อ 0
ขด: (35) ข้อผิดพลาด:1408F10B:รูทีน SSL:ssl3_get_record:หมายเลขเวอร์ชันไม่ถูกต้อง

ฉันไม่มีอย่างอื่นให้ลองแล้ว ข้อเสนอแนะใด ๆ

Score:3
ธง cz

คุณลืมบอก nginx ว่าพอร์ตการรับฟังเหล่านี้บนพอร์ต 443 ใช้สำหรับ TLS

    ฟัง 93.93.135.169:443 http2;
    ฟัง [::]:443 http2;

โปรดทราบว่า เอสเอสแอล ที่ขาดหายไป. ควรอ่าน:

    ฟัง 93.93.135.169:443 ssl http2;
    ฟัง [::]:443 ssl http2;
Andrew Newby avatar
in flag
OMG ฉันรู้ว่าฉันต้องพลาดอะไรบางอย่างไป หึ! ขอบคุณที่นำสติมาให้ฉัน บางครั้งต้องใช้สายตาคู่ใหม่ในการมองบางสิ่ง!

โพสต์คำตอบ

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