对于我的网站,我实际上需要 3 个域:
- example.domain:可通过 IPv4 和 IPv6 访问
- ipv4.example.domain:只能通过 IPv4 访问
- ipv6.example.domain:只能通过 IPv6 访问
我尝试使用以下 nginx 配置解决此问题:
server {
listen [::]:80 ipv6only=off default_server;
listen 80 default_server;
server_name example.domain;
}
# IPv4 only endpoint
server {
listen 80;
server_name ipv4.example.domain;
}
# IPv6 only endpoint
server {
listen [::]:80 ipv6only=on;
server_name ipv6.example.domain;
}
但这会引发错误:nginx: [emerg] duplicate listen options for [::]:80
对于 IPv6 服务器块(在我的示例中为第 15 行)。
我怎样才能达到预期的结果?我是否需要使用 2 个单独的 IPv6 地址来托管这些网站?