Я пытался связаться с техподдержкой по этому вопросу, но прошло уже больше трех недель с тех пор, как они сказали, что изучат его. Возможно, кто-то имел (и решил) подобную проблему:
У меня проблема с подключением к службе лицензий (развернутой клиентом) с использованием имени хоста вместо IP-адреса.
Это позволит всем продолжать работать в случае изменения IP-адреса сервера.
Я создал службу, развернутую на клиенте для http://HOSTNAME:8081/
, и попытался подключиться по этому URL.
При проверке службы лицензирования возвращается следующее исключение:
License not valid for running license server.
ALLOWED: = http://HOSTNAME:8081/ , http://fe80::21d7:f28f:a8b2:6542%10 , http://fe80::2cf3:1cea:3f57:1fd%12 , http://192.168.254.2 , http://2001:0:5ef5:79fd:2cf3:1cea:3f57:1fd ,
REQUESTED: http://[fe80::21d7:f28f:a8b2:6542%10]:8081/Service.asmx/PingLicenseService
При обращении к службе через URL с именем хоста, по-видимому, автоматически используется (первый?) IPv6-адрес, заключенный в квадратные скобки (как и должно быть, в противном случае он не может определить номер порта).
Однако разрешенные URL-адреса содержат адреса IPv6 без этих квадратных скобок.
Это какая-то ошибка? (Кажется, номера портов также отсутствуют.)
Я попытался получить IPv4-адрес от имени хоста вручную во время выполнения, но затем я получил:
Удаленный сервер возвратил ошибку: (400) Bad Request
.
Когда я пытаюсь перейти к службе с использованием адреса IPv4 или IPv6 самостоятельно (в браузере), ошибка увеличивается до:
HTTP Error 400. The request hostname is invalid.
Что также странно, поскольку они включены в разрешенные URL-адреса. Кажется, действительным является только URL в ServerSettings.xml, где у меня есть http://HOSTNAME:8081/
. Когда я снова изменяю адрес в ServerSettings.xml на адрес IPv4, я могу подключиться из программного обеспечения, используя имя хоста или адрес IPv4.
Можно ли запретить заказчику редактировать ServerSettings.xml при каждом изменении IP-адреса сервера?