นั่นอาจเป็นเหตุผลเดียวที่คุณจะใช้โครงสร้างเดิมวันนี้
เหตุผลที่คุณเห็นสิ่งนี้อาจเป็นเพราะค่าเริ่มต้นของการipv6only
เปลี่ยนแปลงใน nginx 1.3.4 ก่อนหน้านั้นมันเริ่มต้นไปที่off
; on
ในรุ่นใหม่เป็นค่าเริ่มต้น
สิ่งนี้เกิดขึ้นกับการโต้ตอบกับตัวเลือกซ็อกเก็ต IPV6_V6ONLY บน Linux และตัวเลือกที่คล้ายกันในระบบปฏิบัติการอื่นซึ่งค่าเริ่มต้นไม่จำเป็นต้องคาดเดาได้ ดังนั้นโครงสร้างเดิมจำเป็นต้องมี pre-1.3.4 เพื่อให้แน่ใจว่าคุณกำลังฟังการเชื่อมต่อทั้ง IPv4 และ IPv6
การเปลี่ยนค่าเริ่มต้น nginx เพื่อipv6only
ให้แน่ใจว่าค่าเริ่มต้นของระบบปฏิบัติการสำหรับซ็อกเก็ตสแต็คคู่ไม่เกี่ยวข้อง ตอนนี้ nginx เชื่อมโยงกับ IPv4, IPv6 หรือทั้งคู่อย่างชัดเจนไม่ขึ้นกับระบบปฏิบัติการเพื่อสร้างซ็อกเก็ตสแต็คคู่โดยค่าเริ่มต้น
ที่จริงแล้วมาตรฐาน nginx ของฉันกำหนดค่าสำหรับ pre-1.3.4 มีการกำหนดค่าแรกและ post-1.3.4 ทั้งหมดมีการกำหนดค่าที่สอง
แม้ว่าเนื่องจากการรวมซ็อกเก็ตสแต็คคู่เป็นสิ่งเดียวที่ใช้กับ Linux การกำหนดค่าปัจจุบันของฉันจึงดูเหมือนเป็นตัวอย่างแรก แต่ไม่มีการipv6only
ตั้งค่าให้กับปัญญา:
listen [::]:80;
listen 80;