Cover Image

Brukere kan ikke se nettsteder bak Nginx Reverse Proxy

 Mon 2025-05-26    Web

Jeg støtte nylig på et spennende problem som ser ut til manifestere seg dersom følgende kriterier er oppfylt:

  1. Den besøkende bruker Safari på Mac, eller Safari/Chrome på iPhone/iPad. Safari på mac og Safari/Chrome på iPhone/iPad bruker alle Apples webrenderingsmotor WebKit.
  2. Webserveren står bak en Nginx Reverse Proxy
  3. NPM bruker Let's Encrypt SSL/TLS-sertifikater
  4. Webserveren er Apache 2 og kjører på Debian 11 eller 12

Dette ser ut til å resultere i at Safari mottar en respons fra NPM den ikke skjønner, og presenterer "kan ikke åpne siden" til brukeren.

Løsningen er å gå inn i hver av Proxy Hostene på NPM, navigere til Advanced og legge inn følgende i Custom Nginx Configuration:

proxy_hide_header Upgrade;

Dette skal løse problemet og la Safari/WebKit vise nettsidene.

Full liste over nyttige configlinjer:

proxy_hide_header Upgrade;
proxy_hide_header X-Powered-By;
add_header Content-Security-Policy "upgrade-insecure-requests";
add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; mode=block" always;
add_header X-Content-Type-Options "nosniff" always;
add_header Cache-Control "no-transform" always;
add_header Referrer-Policy no-referrer always;
add_header X-Robots-Tag none;