Есть ли что-нибудь в спецификации сервлета, Tomcat или Wicket, что позволит веб-приложению, работающему за mod_proxy, определить URL-адрес запроса без прокси?
Нам нужно рассылать электронные письма со ссылками в них. Я использовал следующую часть Wicket для создания URL-адресов определенных страниц в приложении:
String relURL = RequestCycle.get().getRequest().getRelativePathPrefixToWicketHandler();
RequestUtils.toAbsolutePath(relURL);
Поскольку электронные письма не возвращаются через прокси-сервер, URL-адреса, конечно же, не переписываются и в конечном итоге выглядят как http://localhost/...
.
Прямо сейчас лучшее, что я могу сделать, это жестко закодировать URL-адреса нашего производственного сервера, но это создает нам некоторые проблемы с отладкой при работе на машинах разработки / тестирования.
Использование InetAddress.getLocalHost().getHostName()
на самом деле не является решением, так как это, скорее всего, вернет prod1.mydomain.com
или что-то в этом роде, а не mydomain.dom
, от которого, вероятно, исходит запрос.