ฉันกำลังพยายามทำให้ 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:หมายเลขเวอร์ชันไม่ถูกต้อง
ฉันไม่มีอย่างอื่นให้ลองแล้ว ข้อเสนอแนะใด ๆ