Назад | Перейти на главную страницу

Лучшая практика nginx: прослушивать только IP-шаблон или общедоступный IP-адрес

Поэтому мне было интересно, какой из них считается лучшим.

Подстановочный знак 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 уже был связан. Теперь у шаблонов часто нет выбора, кроме как использовать параметр подстановки. И тем более у скриптов тоже нет никакой возможности.
Теперь основная причина не использовать подстановочные знаки заключается в том, что если они используются, ничто другое не сможет связать другой (локальный / петлевой) адрес с тем же портом, что само по себе вызовет проблемы.

Так есть ли какие-нибудь лучшие практики (руководства)?