Tengo una configuración de proxy inverso simple con nginx (que se ejecuta en un contenedor acoplable con certbothttps://github.com/umputun/nginx-le) como servidor web example.com
y 192.168.0.220:80
donde se ejecuta mi aplicación. Hay configuración:
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 '';
}
}
Y una página web con recursos estáticos definidos así<script src="/js/home.js"></script>
El problema es que cuando accedo example.com/smarthome
no carga mis recursos estáticos. En 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
Pero se esperaba obtener el formulario de recursos estadísticos, https://example.com/smarthome/js/home.js
pero parece entrar en un bucle de redireccionamiento.
Puede que se me escape algo muy simple, pero no puedo encontrar la solución mientras me invade la frustración. ¡Gracias por la ayuda de antemano!
Respuesta1
Según su configuración de Nginx, debe definir la ubicación raíz. De lo contrario, siempre redirige el bucle.
Puedes hacer el archivo de configuración así:
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 '';
}
}