O proxy mod do Apache usa um charset diferente do servidor proxy

0

Estou executando o Jenkins, um aplicativo da Web java, na porta 8080, atrás de um servidor apache2 usando mod_proxy.

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

Quando eu acesso jenkins diretamente, por exemplo, link , o resultado parece normal (todos os caracteres estão codificados corretamente).

Masquandoeutentoatravésdoproxydoapache,parecequeisso

Minhaconfiguraçãodomod_proxyé

SSLEngineonProxyRequestsOffProxyPreserveHostOnAllowEncodedSlashesNoDecode<Proxy*>Orderdeny,allowAllowfromall</Proxy>ProxyPass/http://localhost:8080/nocanonProxyPassReverse/http://localhost:8080/RequestHeadersetX-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/

Minhas configurações de idioma são

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

Alguém sabe como manter o conjunto de caracteres correto?

    
por René Link 14.09.2017 / 11:25

1 resposta

0

Eu resolvi meu problema seguindo a documentação do jenkins

Assegurei que todos os mods estão ativados

a2enmod proxy
a2enmod proxy_http
a2enmod headers

e usou essa configuração

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>

Talvez a configuração que postei na minha pergunta contenha algum erro. Eu usei porque já estava presente no servidor antigo. Eu mudei Jenkins para um novo servidor.

    
por 14.09.2017 / 18:58