Я запускаю приложение в IBM WebSphere Liberty на сервере Windows с включенным IPv6.
Мы хотим, чтобы Liberty прослушивала глобальный адрес IPv6, а не локальный адрес.
Чтобы предпочесть IPv6, я добавил эту опцию JVM:
-Djava.net.preferIPv6Addresses=true
После этого при изменении Liberty запускается с локального IPv6-адреса (например, fe80::…) вместо глобального IPv6-адреса, назначенного машине.
Что я заметил
Если я настраиваю файл server.xml с необработанным IPv6-адресом, Liberty привязывается правильно:
httpEndpoint host="[2991:dp8:85a3::70:61]" httpsPort="9443"
Но если я настрою имя хоста, например:
httpEndpoint host="myserver.example.com" httpsPort="9443"
Liberty снова привязывается к локальному IPv6 вместо глобального один.
Имя хоста → локальный IPv6
Необработанный IP → глобальный IPv6 (работает)
Вопрос
Почему Liberty разрешает имя хоста в локальный IPv6 вместо глобального IPv6 и как я могу заставить Liberty привязываться к глобальному IPv6 при использовании имени хоста**?**
Мне нужно использовать имя хоста (FQDN) в server.xml, а не необработанный IP-адрес
Подробнее здесь: https://stackoverflow.com/questions/798 ... v6-when-us