Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

333
Vistas
Variable in nginx proxy_pass causes MIME type issue

I've googled the topic at length all evening and can't seem to make sense of this. My situation is the following: I have a NAS on my network (hostname MYHOSTNAME) and I also have a nginx reverse proxy, on another machine. I want to use a variable for the proxy_pass section of my configuration file such that in case the NAS is offline when the proxy starts, it doesn't crash. Basically:

location /MYNAS {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $host;
        proxy_redirect   off;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-NginX-Proxy true;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_pass http://MYHOSTNAME:1234/; 

works just fine. But the following:

location /MYNAS {
        set $VAR_HOSTNAME MYHOSTNAME;
        resolver 192.168.x.x;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $host;
        proxy_redirect   off;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-NginX-Proxy true;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_pass http://$VAR_HOSTNAME:1234/;

gives me trouble. The webpage loads an empty page, and in the browser console, I can see:

Refused to execute script from 'something' because its MIME type ('text/html') is not executable, and strict MIME type checking is enabled.
mydynamicdns/:1 Refused to execute script from 'somethingelse' because its MIME type ('text/html') is not executable, and strict MIME type checking is enabled.
desktop.js?v=1562143318:3 Uncaught TypeError: Cannot read property 'diskless' of undefined
    at _S (desktop.js?v=xxx:x)
    at aa.defaultCSSSelectors (desktop.js?v=xxx:x)
    at desktop.js?v=xxx:x
    at ext-all.js?v=xxx:x
    at b (ext-all.js?v=xxx:x)

I'm at a loss for new ideas of how to make this work... Thanks in advance guys, any help would be greatly appreciated.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

I don't think I can quite explain the technical details of why, but by turning on debugging in nginx and comparing with the usecase that works, I eventually figured that I needed to nullify the /MYNAS/ piece. The key is the rewrite line below:

location /MY_NAS/ {
        set $MY_NAS http://MYNAS:1234;
        resolver 192.168.x.x;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $host;
        proxy_redirect   off;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-NginX-Proxy true;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        rewrite /MY_NAS/(.*) /$1 break;
        proxy_pass $MY_NAS;
    }

Hopefully that will help someone else one day and save you the headache.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda