Поэтому мне было интересно, какой из них считается лучшим.
Подстановочный знак IP
server {
listen 80;
listen [::]:80 ipv6only=on;
# I know ipv6only=on isn't needed on older versions but I like to have it for compatibility reasons
...
против
Только публичный IP
server {
listen <public IPv4>:80;
listen [<public IPv6>]:80 ipv6only=on;
# I know ipv6only=on isn't needed on older versions but I like to have it for compatibility reasons
...
(Конечно, то же самое для всех других портов и протоколов)
Основная причина, по которой я спрашиваю, заключается в том, что до этого момента я всегда использовал свои общедоступные IP-адреса в конфигурациях и недавно столкнулся с проблемой, что скрипт, добавляющий файл nginx, автоматически сломал мой сервер из-за того, что он не мог долго запускаться из-за это неспособность связать [::]:80
так как [<public IPv6]:80
уже был связан. Теперь у шаблонов часто нет выбора, кроме как использовать параметр подстановки. И тем более у скриптов тоже нет никакой возможности.
Теперь основная причина не использовать подстановочные знаки заключается в том, что если они используются, ничто другое не сможет связать другой (локальный / петлевой) адрес с тем же портом, что само по себе вызовет проблемы.
Так есть ли какие-нибудь лучшие практики (руководства)?