Sim
Well-known member
When I last did a major upgrade of my hosting configuration a few years back, I also migrated to using dedicated IPv6 addresses for each of the (several dozen) websites I host.
When hosting multiple sites on the one server using SSL, the advice at the time (from Linode primarily) was to use a single IPv4 address and SNI, but to configure separate IPv6 addresses for each site (using Linode's supplied /64 block of IPv6 addresses routed to each Linode).
So the nginx server block looked like this:
The first server block is the main one - responding to https requests from the server's IPv4 address (via SNI for SSL) or from the specific IPv6 address specified. The second server block simply redirects all http requests to https requests to be served by the first block - again, using either IPv4+SNI or the dedicated IPv6 address.
However, I'm moving to a new setup now and taking the opportunity to revisit my server configuration and note that the recommended configuration people are using doesn't bother with dedicated IPv6 addresses anymore for each host and simply uses a common configuration where both the IPv4 and IPv6 addresses are shared between sites (ie there is one IPv4 address and one IPv6 address assigned to the server and all websites hosted on that server use those same addresses).
I'm wondering if our experienced server admin people have any thoughts on best practices here?
I think the argument in the past in favour of dedicated IPv6 addresses was relating to separation of sites so that DDOS attacks or IP based blacklists and such would only affect a single site and not all sites on the server (assuming they were specific to the IPv6 address - since IPv4 was still shared). I'd have to go hunting to see if I could find any details from back then to see what other rationale there was.
Curious to hear thoughts (and reasoning!) behind the approach people take.
The shared IPv6 approach is certainly much more pragmatic - no need to configure a dedicated IPv6 address for each website (which requires configuring things at the DNS level, the OS level, and at the nginx level - so certainly not trivial). However, I'm wondering if there are any compelling reasons to maintain using dedicated IPv6 addresses?
When hosting multiple sites on the one server using SSL, the advice at the time (from Linode primarily) was to use a single IPv4 address and SNI, but to configure separate IPv6 addresses for each site (using Linode's supplied /64 block of IPv6 addresses routed to each Linode).
So the nginx server block looked like this:
Code:
server {
server_name foo.example.com;
listen 443 ssl http2;
listen [ipv6:address:goes:here]:443 ssl http2;
...
}
server {
server_name foo.example.com;
listen 80;
listen [ipv6:address:goes:here]:80;
return 301 https://foo.example.com$request_uri;
}
The first server block is the main one - responding to https requests from the server's IPv4 address (via SNI for SSL) or from the specific IPv6 address specified. The second server block simply redirects all http requests to https requests to be served by the first block - again, using either IPv4+SNI or the dedicated IPv6 address.
However, I'm moving to a new setup now and taking the opportunity to revisit my server configuration and note that the recommended configuration people are using doesn't bother with dedicated IPv6 addresses anymore for each host and simply uses a common configuration where both the IPv4 and IPv6 addresses are shared between sites (ie there is one IPv4 address and one IPv6 address assigned to the server and all websites hosted on that server use those same addresses).
Code:
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name foo.example.com;
...
}
I'm wondering if our experienced server admin people have any thoughts on best practices here?
I think the argument in the past in favour of dedicated IPv6 addresses was relating to separation of sites so that DDOS attacks or IP based blacklists and such would only affect a single site and not all sites on the server (assuming they were specific to the IPv6 address - since IPv4 was still shared). I'd have to go hunting to see if I could find any details from back then to see what other rationale there was.
Curious to hear thoughts (and reasoning!) behind the approach people take.
The shared IPv6 approach is certainly much more pragmatic - no need to configure a dedicated IPv6 address for each website (which requires configuring things at the DNS level, the OS level, and at the nginx level - so certainly not trivial). However, I'm wondering if there are any compelling reasons to maintain using dedicated IPv6 addresses?