Как определить схему запроса, contextpath, если сервер tomcat работает за обратным прокси - PullRequest
0 голосов
/ 16 декабря 2011

Я создаю плагин для веб-приложения на Java, который работает на Tomcat и за обратным прокси-сервером apache.

Я могу получить следующее:

Host Name : request.getLocalName()

Port: request.getLocalPort()

Как получить следующее для исходного запроса, а не для запроса прокси:

Схема запроса:??

Контекстный путь: ??

1 Ответ

0 голосов
/ 16 декабря 2011

Чтобы получить схему аутентификации, используемую для защиты сервлета, вы можете вызвать из класса HttpServletRequest метод getAuthType(). Это вернет значения, соответствующие статическим финалам, как указано в javadocs.

Field Summary:
  static String BASIC_AUTH 
    String identifier for Basic authentication. 
  static String CLIENT_CERT_AUTH 
    String identifier for Client Certificate authentication.
  static String DIGEST_AUTH 
    String identifier for Digest authentication. 
  static String FORM_AUTH 
    String identifier for Form authentication. 

Чтобы получить контекстный путь, вам нужно просто вызвать getContextPath() HttpServletRequest.

EDIT:

Чтобы получить имя локального компьютера для сервера за прокси-сервером, вы можете получить имя локального компьютера:

java.net.InetAddress localMachine = java.net.InetAddress.getLocalHost();
...