map $http_user_agent $outdated { default 0; "~MSIE [1-10]\." 1; "~Trident/[5-7]\." 1; "~Mozilla.*Firefox/[1-9]\." 1; "~Mozilla.*Firefox/[0-2][0-9]\." 1; "~Mozilla.*Firefox/3[0-1]\." 1; "~Opera.*Version/[0-9]\." 1; "~Opera.*Version/[0-1][0-9]\." 1; "~Opera.*Version/2[0-1]\." 1; "~AppleWebKit.*Version/[0-6]\..*Safari" 1; "~Chrome/[0-9]\." 1; "~Chrome/[0-2][0-9]\." 1; "~Chrome/3[0-3]\." 1; } server { listen 8080 default_server; root /usr/share/nginx/html/; location / { # Redirect outdated nav if ($outdated = 1){ rewrite ^ /outdated.html break; } # First attempt to serve request as file, then # as directory, then fall back to displaying a 404. # Angular routed apps must fall back to index.html ( https://angular.io/guide/deployment#server-configuration ) try_files $uri $uri/ /index.html; } location /api { proxy_pass http://host.docker.internal:3000; } location /base-adresse/base-adresse-nationale/streets { proxy_pass https://passerelle.formulaireextranet.grandlyon.com/base-adresse/base-adresse-nationale/streets; } location /geocoding/photon/api { proxy_pass https://download.data.grandlyon.com/geocoding/photon/api; } location /reverse { proxy_pass https://api-adresse.data.gouv.fr/reverse; } location /wfs/grandlyon { proxy_pass https://download.data.grandlyon.com/wfs/grandlyon; } location ~* (/ghost) { expires epoch; proxy_no_cache 1; proxy_pass http://host.docker.internal:2368; } # REALLY important for JavaScript modules (type="module") to work as expected!!! location ~ \.js { add_header Content-Type text/javascript; } }