Eu tenho uma configuração simples de proxy reverso com nginx (que é executado no contêiner docker com certbothttps://github.com/umputun/nginx-le) como servidor web example.com
e 192.168.0.220:80
onde meu aplicativo é executado. Existe configuração:
server {
listen 443 ssl;
server_name example.com;
charset utf-8;
ssl_certificate SSL_CERT;
ssl_certificate_key SSL_KEY;
ssl_trusted_certificate SSL_CHAIN_CERT;
location /smarthome/ {
proxy_pass http://192.168.0.220:80/;
proxy_redirect off;
proxy_http_version 1.1;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Forwarded-Host $server_name;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Origin '';
}
}
E página da web com recursos estáticos definidos assim<script src="/js/home.js"></script>
O problema é que quando eu acesso example.com/smarthome
ele não carrega meus recursos estáticos. Na consola:
https://example.com/js/home.js/smarthome/smarthome/smarthome/smarthome/smarthome/smarthome/smarthome/smarthome/smarthome/smarthome/smarthome/smarthome/smarthome/smarthome/smarthome/smarthome/smarthome/smarthome/smarthome/smarthome net::ERR_TOO_MANY_REDIRECTS
Mas espera-se obter o formulário de recursos estatísticos, https://example.com/smarthome/js/home.js
mas parece entrar em um loop de redirecionamento.
Posso perder algo muito simples, mas não consigo encontrar uma solução enquanto a frustração surge. Obrigado pela ajuda antecipadamente!
Responder1
Com base na configuração do Nginx, você deve definir o local raiz. Caso contrário, sempre redireciona o loop.
Você pode fazer o arquivo de configuração assim:
server {
listen 443 ssl;
server_name example.com;
charset utf-8;
ssl_certificate SSL_CERT;
ssl_certificate_key SSL_KEY;
ssl_trusted_certificate SSL_CHAIN_CERT;
location / {
proxy_pass http://192.168.0.220:80;
}
location /smarthome/ {
proxy_pass http://192.168.0.220:80/;
proxy_redirect off;
proxy_http_version 1.1;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Forwarded-Host $server_name;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Origin '';
}
}