Estou tentando fazer proxy do webmin por trás do nginx por várias razões que estão fora do escopo desta questão. No entanto, eu tenho tentado por um tempo agora e não consigo descobrir e acho que estou a ponto de esgotar todas as permutações do arquivo de configuração em que consigo pensar.
O que eu tenho agora: configuração nginx relevante (opções comentadas removidas, eu tentei muitas)
# Proxy for webmin
location /admin/quackwall-webmin {
proxy_pass http://127.0.0.1:10000; # Also tried ending with /admin/quackwall-webmin
proxy_set_header Host $host;
}
/etc/webmin/config
- Partes relevantes
webprefix=/admin/quackwall-webmin
webprefixnoredir=1
referer=(nginx domain name)
O próprio Webmin está nas portas padrão, escutando todos os endereços temporariamente para depuração. SSL foi desativado por agora.
Então, faço uma solicitação padrão para a página de login. No entanto, todas as imagens e CSS estão quebradas, com a página de login padrão retornada para todos os recursos. Nos logs do minminerv webmin eu vejo
127.0.0.1 - - [29/Oct/2012:12:29:00 -0400] "GET /admin/quackwall-webmin/session_login.cgi HTTP/1.0" 401 2453
127.0.0.1 - - [29/Oct/2012:12:29:01 -0400] "GET /admin/quackwall-webmin/unauthenticated/style.css HTTP/1.0" 401 2453
127.0.0.1 - - [29/Oct/2012:12:29:01 -0400] "GET /admin/quackwall-webmin/unauthenticated/sorttable.js HTTP/1.0" 401 2453
127.0.0.1 - - [29/Oct/2012:12:29:01 -0400] "GET /admin/quackwall-webmin/unauthenticated/toggleview.js HTTP/1.0" 401 2453
Assim, todas as URLs estão retornando 401s. Curiosamente, o ngrep parece mostrar que os pedidos foram bem sucedidos na comunicação backend entre nginx e webmin
T 127.0.0.1:58908 -> 127.0.0.1:10000 [AP]
POST /admin/quackwall-webmin/session_login.cgi HTTP/1.0..Host: (host)..Connection: close..User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW
64; rv:16.0) Gecko/20100101 Firefox/16.0..Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8..Accept-Language: en-US,en;q=0.5.
.Accept-Encoding: gzip, deflate..Referer: http://(host)/admin/quackwall-webmin/session_login.cgi..Cookie: testing=1..Cache-Control: ma
x-age=0..Content-Type: application/x-www-form-urlencoded..Content-Length: 41....page=%2F&user=(user)&pass=(pass)
T 127.0.0.1:10000 -> 127.0.0.1:58908 [AP]
HTTP/1.0 200 Document follows..
Várias outras permutações dessas opções de configuração e outras mostram resultados semelhantes, com o URL enviado para o webmin por nginx sendo /admin/quackwall-webmin/session_login.cgi
, /admin/quackwall-webmin//session_login.cgi
e apenas /session_login.cgi
. Todos dão 201 respostas não autenticadas. Todos os pedidos, mesmo aqueles que tiveram algum sucesso (como na verdade eu posso carregar os recursos da página)
A mudança do webprefix no webmin é suportada? O que estou fazendo de errado? O que mais eu posso tentar?
Tags nginx