Resolvido isso adicionando redirecionamento nginx ao / opscenter
location = / {
rewrite (.*) /opscenter;
}
Gostaria de executar o datastax cassandra opscenter atrás do Nginx. Mas continua adicionando porta opscenter (8888 por padrão) a todos os URLs. Existe uma configuração para desativar isso ou algo assim?
Aqui está minha configuração nginx super simples:
server {
server_name opscenter.hostname.com;
location / {
proxy_pass http://127.0.0.1:8888;
}
}
Há algo que estou fazendo errado, talvez?
Resolvido isso adicionando redirecionamento nginx ao / opscenter
location = / {
rewrite (.*) /opscenter;
}
Você precisa criar um local como o seguinte:
location / {
proxy_pass http://127.0.0.1:8888;
proxy_redirect http://localhost:8888/ /;
proxy_redirect http://your.host.name:8888/ /;
proxy_buffering off;
}
As linhas proxy_redirect
removerão o 8888
das respostas retornadas pelo OpsCenter.
Mais informações sobre o proxy_redirect
podem ser encontradas no link
Eu tentei as configurações sugeridas e muito mais, mas nenhuma delas funcionou para mim.
Aqui está o meu caso de uso e minha solução.
O Nginx e o OpsCenter estão em duas máquinas diferentes. Ao contrário do Nginx, o OpsCenter não é acessível diretamente da Internet.
O Nginx 1.4.6 está em 172.132.1.2
(rede pública)
OpsCenter 5.2.0 está em 172.132.2.3
(rede privada)
upstream opscenter {
server 172.132.2.3:8888;
}
server {
listen 81 default_server;
listen [::]:81 default_server ipv6only=on;
location / {
proxy_pass http://opscenter;
proxy_redirect http://$proxy_host:8888/ http://$host:$server_port/;
proxy_buffering off;
}
location ~ /\.ht {
deny all;
}
}