Java-приложение Azure: менеджер безопасности блокирует доступ к сети - PullRequest
0 голосов
/ 23 июня 2018

У меня есть Java-приложение Azure java, и я хочу подключить его к базе данных Oracle в некоторых VNET через JDBC.Веб-приложение подключено к VNET через точку VPN на сайте.Создание соединения не удается.Итак, я посмотрел журналы и обнаружил:

   Caused by: java.net.SocketException: Permission denied: connect
   at sun.nio.ch.Net.connect0(Native Method) ~[?:1.8.0_144]
   at sun.nio.ch.Net.connect(Net.java:454) ~[?:1.8.0_144]
   at sun.nio.ch.Net.connect(Net.java:446) ~[?:1.8.0_144]
   at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648) ~[?:1.8.0_144]
   at java.nio.channels.SocketChannel.open(SocketChannel.java:189) ~[?:1.8.0_144]
   at oracle.net.nt.TimeoutSocketChannel.<init>(TimeoutSocketChannel.java:81) ~[ojdbc8.jar:12.2.0.1.0]
   at oracle.net.nt.TcpNTAdapter.connect(TcpNTAdapter.java:169) ~[ojdbc8.jar:12.2.0.1.0]

Так что, похоже, работает Security Manager, который блокирует доступ к сети.

Я использую тонкий JDBC-драйвер Oracle, поэтому не задействованы собственные библиотеки.Веб-приложение является 64-битной Windows.Java - это версия 8. Я использую новейшую версию Tomcat 8.0.

Как я могу ее настроить или отключить?Можно ли настроить это в файле WAR?Я не думаю, что возможно редактировать файл catalina.policy, это веб-приложение Azure.


Кажется, это зависит от IP-адреса, если IP-адрес находится в общедоступном Интернете, соединение установлено.сделал.Но с 10. . . * Непубличным IP базы данных в VNET возникает исключение java.net.SocketException.Может ли быть так, что какая-то сетевая ошибка, такая как «нет маршрута к хосту» или «отказано в соединении», преобразуется в это SocketException?

1 Ответ

0 голосов
/ 25 июня 2018

Так что я решил это сам.

В конфигурации «точка-сайт» у меня был установлен флажок «IKEv2 VPN». Это должно быть не проверено. Может быть, это где-то задокументировано.

Как я туда попал: Я нашел кое-что о «синхронизации» для шлюзов Azure VPN в Интернете.

Кажется, что VPN-шлюзы должны быть синхронизированы. Это невозможно на вкладке «Виртуальная сетевая интеграция» веб-приложения. Но также возможно настроить сеть в «плане обслуживания» веб-приложения. Существует также раздел «Сеть», а затем еще один раздел «Интеграция с VNET». Выберите свой VNET, а затем откроется еще одна вкладка «Виртуальная сетевая интеграция».

Но на этот раз есть кнопка «Синхронизация сети». Нажмите это. Когда Опция «IKEv2 VPN» была проверена, я получил ошибку, которая указала на неправильную конфигурацию.

...