Я создаю сервис, который публикует что-то через интернет, и все в порядке. Но когда я развертываю его на нашем сервере, я получаю статус соединения: 403, запрещено. Я думаю, это потому, что наш сервер не разрешит прямой доступ к Интернету без входа в систему. Сначала мы должны войти в браузер с нашим именем пользователя / паролем, чтобы получить доступ к Интернету.
Я заметил, что если у меня есть логин и доступ к интернету на сервере, развернутая мною служба работает нормально. Но я не думаю, что это практично, потому что в этом случае мой сервис не будет работать, если кто-то или я не войдем в систему первыми.
Я попытался установить прокси в коде Java, но безрезультатно. Может ли кто-нибудь помочь мне с этой проблемой? Вот я публикую свой сервисный фрагмент.
System.getProperties().put("http.proxySet", "true");
System.getProperties().put("http.proxyHost", myHost);
System.getProperties().put("http.proxyPort", "8080");
System.getProperties().put("http.proxyUser", myUser);
System.getProperties().put("http.proxyPassword", myPassword);
System.getProperties().put("http.nonProxyHosts", "localhost|127.0.0.1");
try {
URL url = new URL(urlAddress);
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.setRequestMethod("POST");
con.setDoOutput(true);
con.setDoInput(true);
...
if (con.getResponseCode() == HttpURLConnection.HTTP_OK) {
System.out.println("connection OK");
istrm = con.getInputStream();
if (istrm == null) {
System.out.println("istrm == null");
}
...
} else {
System.out.println("Response: " + con.getResponseCode() + ", " + con.getResponseMessage());
}
}
И мой процесс переходит в блок else и получает ответное сообщение 403