Обойти Socks для локального хоста

Я занимаюсь переносом приложения с одного экземпляра виртуальной машины на другой в облаке Azure. Новый экземпляр теперь размещен за (несколько?) брандмауэрами. Для HTTPS мне пришлось настроить-Dhttps.proxyHost=my.https.proxyи для необходимого SFTP-соединения мне пришлось настроить-DsocksProxyHost=my.socks5.proxyв обоих случаях необходимые соединения работают нормально.

Однако теперь я обнаружил, что операторы SQL приложения (JDBC) работают очень-очень медленно. Сервер MSSQL расположен на том же сервере, что и приложение Java, поэтому соединение используетlocalhost. Я поискал и нашел сообщение (где-то), в котором утверждалось, что вариант-Dhttp.nonProxyHosts="localhost|127.*|[::1]"может использоваться для обхода прокси-сервера socks, даже если это не указано в документации, см.:https://docs.oracle.com/en/java/javase/19/docs/api/java.base/java/net/doc-files/net-properties.html

Я сейчас протестировалnonProxyHostsи не заметил никаких улучшений производительности.

Я подозреваю, что проблема связана с тем, что сетевой трафик SQL перенаправляется на прокси-сервер Socks и обратно, я не знаю - может быть, проблема с производительностью лежит где-то еще?

Если проблема заключается в носке, как я могу обойти его для соединений с локальным хостом? Если проблема не в носке, то что я могу сделать, чтобы попытаться выяснить, почему JDBC такой медленный?

Спасибо

1 ответ

Не зная, что делают эти брандмауэры, это все равно, что стрелять с закрытыми глазами, может быть, вы можете попробовать отключить брандмауэр для петлевого трафика.

https://superuser.com/questions/948084/pf-firewall-how-to-disable-all-filtering-on-loopback-interface-кроме-специфического

Другие вопросы по тегам