Đó có lẽ là lý do duy nhất bạn sẽ sử dụng cấu trúc cũ, những ngày này.
Lý do bạn thấy điều này có lẽ là mặc định ipv6only
đã thay đổi trong nginx 1.3.4. Trước đó, nó được mặc định là off
; trong các phiên bản mới hơn, nó mặc định là on
.
Điều này xảy ra để tương tác với tùy chọn ổ cắm IPV6_V6ONLY trên Linux và các tùy chọn tương tự trên các hệ điều hành khác, mặc định không nhất thiết phải dự đoán được. Do đó, cấu trúc trước đây được yêu cầu trước 1.3.4 để đảm bảo rằng bạn thực sự đang lắng nghe các kết nối trên cả IPv4 và IPv6.
Việc thay đổi mặc định nginx để ipv6only
đảm bảo rằng mặc định của hệ điều hành cho ổ cắm ngăn xếp kép là không liên quan. Bây giờ, nginx liên kết rõ ràng với IPv4, IPv6 hoặc cả hai, không bao giờ phụ thuộc vào HĐH để tạo ổ cắm ngăn xếp kép theo mặc định.
Thật vậy, các cấu hình nginx tiêu chuẩn của tôi cho trước 1.3.4 có cấu hình đầu tiên và sau 1.3.4 đều có cấu hình thứ hai.
Mặc dù, vì ràng buộc một ổ cắm ngăn xếp kép là một thứ chỉ dành cho Linux, nên các cấu hình hiện tại của tôi bây giờ trông giống như ví dụ đầu tiên, nhưng không ipv6only
được đặt, để dí dỏm:
listen [::]:80;
listen 80;