Apache mod proxy использует другую кодовую таблицу, чем проксируемый сервер

Я запускаю jenkins, веб-приложение java, на порту 8080 за сервером apache2 с использованием mod_proxy.

+---------------+              +----------------+
|    apache2    |    ----->    |  jenkins:8080  |    
+---------------+              +----------------+

Когда я обращаюсь к jenkins напрямую, например, http://myhost:8080/, результат выглядит нормально (Все символы закодированы правильно).

jenkins direct access

Но когда я пробую через apache proxy, результат выглядит так

jenkins behind apache2 mod proxy

Моя конфигурация mod_proxy такова

SSLEngine on

ProxyRequests     Off
ProxyPreserveHost On
AllowEncodedSlashes NoDecode


    Order deny,allow
    Allow from all


ProxyPass         /  http://localhost:8080/ nocanon
ProxyPassReverse  /  http://localhost:8080/

RequestHeader set X-Forwarded-Proto "https"
RequestHeader set X-Forwarded-Port "443"

SetOutputFilter proxy-html
SetOutputFilter INFLATE;proxy-html;DEFLATE

SetEnv proxy-nokeepalive 1

Header edit Location ^http://myhost/ https://myhost/

Мои языковые настройки таковы

# echo $LANG
en_US.utf8
# echo $LC_ALL
en_US.utf8

Кто-нибудь знает, как сохранить правильную кодировку?

0
14.09.2017, 12:25
1 ответ

Я решил свою проблему, следуя документации jenkins

Я убедился, что все моды включены

a2enmod proxy
a2enmod proxy_http
a2enmod headers

и использовал эту конфигурацию

ProxyPass         /jenkins  http://localhost:8081/jenkins nocanon
ProxyPassReverse  /jenkins  http://localhost:8081/jenkins
ProxyRequests     Off
AllowEncodedSlashes NoDecode

# Local reverse proxy authorization override
# Most unix distribution deny proxy by default (ie /etc/apache2/modsenabled/proxy.conf in Ubuntu)
<Proxy http://localhost:8081/jenkins*>
  Order deny,allow
  Allow from all
</Proxy>

Возможно, конфигурация, которую я указал в своем вопросе, содержит ошибку. Я использовал его, потому что он уже присутствовал на старом сервере. Я переместил Дженкинса на новый сервер.

0
28.01.2020, 04:40

Теги

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