Apache + Tomcat: Используя mod_proxy вместо AJP

FacesContext содержит всю информацию о состоянии для каждого запроса, связанную с обработкой одного запроса JavaServer Faces и отображением соответствующего ответа. Он передается и может быть изменен на каждой фазе жизненного цикла обработки запросов.

Экземпляр FacesContext ассоциируется с конкретным запросом в начале обработки запроса путем вызова метода getFacesContext () экземпляра FacesContextFactory, связанного с текущим веб-приложением. Экземпляр остается активным до вызова метода release (), после чего дальнейшие ссылки на этот экземпляр не допускаются. Пока экземпляр FacesContext активен, на него нельзя ссылаться ни из одного потока, кроме того, в котором контейнер сервлетов, выполняющий это веб-приложение, использует для обработки этого запроса.

ссылка:

http://docs.oracle.com/javaee/6/api/javax/faces/context/FacesContext.html

21
задан Community 23 May 2017 в 12:18
поделиться

2 ответа

Требуемые параметры:

<VirtualHost *:80>
  ServerName public.server.name

  ProxyRequests Off
  ProxyPreserveHost On

  <Proxy *>
    Order deny,allow
    Allow from all
  </Proxy>

  ProxyPass / http://localhost:8080/
  ProxyPassReverse / http://localhost:8080/
</VirtualHost>

Обратите внимание, что мы используем localhost в качестве цели прокси. Мы можем это сделать, поскольку мы включаем ProxyPreserveHost . В документации указано, что

это в основном полезно в особых конфигурациях, таких как проксируемый виртуальный хостинг на основе массового имени, где исходный заголовок Host должен быть оценен внутренним сервером.

что звучит в точности как то, что вы делаете.

40
ответ дан 29 November 2019 в 20:21
поделиться

Я думаю, что лучший вариант, если вы хотите, чтобы на одном сервере было несколько сайтов, - это использовать виртуальные хосты в вашей конфигурации Apache. Вот пример:

<VirtualHost *:80>
ServerName server.domain.com

ProxyRequests Off
<Proxy *>
    Order deny,allow
    Allow from all
</Proxy>

ProxyPass / http://server.domain.com:8080/
ProxyPassReverse / http://server.domain.com:8080/
<Location />
    Order allow,deny
    Allow from all
</Location>

Пока у вас есть server.domain.com, зарегистрированный во внешнем DNS, имя входящего хоста будет отображаться в URL-адресах клиентов. Я использую этот метод на одном сервере, на котором размещены 6 отдельных сайтов, в том числе 3 от Tomcat.

5
ответ дан 29 November 2019 в 20:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: