Настройка прокси для приложения Java, развернутого в Tomcat 8 - PullRequest
0 голосов
/ 03 июля 2019

Я развертываю приложение в Tomcat 8.5.Этот кот работает за прокси.Если я использую Eclipse, приложение работает правильно, но не в Tomcat.Я видел, что если я проходил аутентификацию с помощью веб-браузера, приложение работает нормально, пока аутентификация все еще остается.После истечения срока действия я должен снова предоставить учетные данные.

Я пытался предоставить эту информацию с помощью кода, а также добавил эти строки в catalina.bat:

http.proxyHost= proxy.myproxy.es

http.proxyPort = 8080

http.proxyUser = USERNAME

http.proxyPassword = PWD

System.setProperty("http.proxyHost", PROXY_SERVER);
System.setProperty("http.proxyPort", PROXY_PORT.toString());
System.setProperty("https.proxyHost", PROXY_SERVER);
System.setProperty("https.proxyPort", PROXY_PORT.toString());
System.setProperty("http.proxyUser", PROXY_USER);
System.setProperty("http.proxyPassword", PROXY_PASSWORD);
System.setProperty("http.proxySet", "true");
// AUTENTICAMOS EL PROXY
Authenticator.setDefault(new Authenticator() {
    @Override
    protected PasswordAuthentication getPasswordAuthentication() {
        if (getRequestorType() == RequestorType.PROXY) {
            String prot = getRequestingProtocol().toLowerCase();
            String host = System.getProperty(prot + ".proxyHost", PROXY_SERVER);
            String port = System.getProperty(prot + ".proxyPort",PROXY_PORT.toString());
            String user = System.getProperty(prot + ".proxyUser", PROXY_USER);
            String password = System.getProperty(prot + ".proxyPassword", PROXY_PASSWORD);
            if (getRequestingHost().equalsIgnoreCase(host)) {
                if (Integer.parseInt(port) == getRequestingPort()) {
                    return new PasswordAuthentication(user, password.toCharArray());
                }
            }
        }
        return null;
    }
});

Мне нужноэта аутентификация для автоматического запуска.

РЕДАКТИРОВАТЬ: Этот прокси должен использоваться сторонним классом.Если я создаю новое соединение со случайным URL-адресом, таким как google.com, а затем делаю запрос со сторонним классом, он работает правильно, поэтому я предполагаю, что он не использует Authenticator.setDefault.Есть идеи о том, что происходит?

1 Ответ

0 голосов
/ 09 июля 2019

В Finnaly есть ошибка со сторонним классом.Закрыто

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...