diff --git a/nginx/default.conf b/nginx/default.conf index 48351cd4b260c97c5e176e5b35e1502ca0eb6690..050a0543a732d8f0aa904f97f36afa373368afaf 100644 --- a/nginx/default.conf +++ b/nginx/default.conf @@ -38,18 +38,21 @@ server { #allow 80.14.51.82; # Erasme #deny all; - # prerender news post for linkedin - location ~ ^/actualites/details/(.*)$ { + # Prerender news post for linkedin + # use regular expression for location to avoid nginx resolve error (https://stackoverflow.com/questions/57937222/502-bad-gateway-nginx-no-resolver-defined-to-resolve ) # + location ^~ /actualites/details/ { + resolver dns-default.openshift-dns.svc.cluster.local; + + # proxy_set_header must be outside if clause (cf. https://stackoverflow.com/questions/16500594/why-i-cant-put-proxy-set-header-inside-an-if-clause ) + proxy_set_header User-Agent ""; + if ($prerender = 1) { # For use of proxy_pass within a regular expression location, cf. https://stackoverflow.com/a/53354944 - - # tester : - #proxy_pass http://res-client-service.cluster.local:8080/api/render/$1; - - proxy_pass http://res-client-service.ns-res-d01-syn.svc.cluster.local:8080/api/render/$1; + proxy_pass http://res-client-service.ns-res-d01-syn.svc.cluster.local:8080/api/render/$uri; } + # if no prerender, apply default angular route try_files $uri $uri/ /index.html; } diff --git a/nginx/local.conf b/nginx/local.conf index 0047fe059e3eba7a17ed8450d5fb4a86b199083c..ccda2d7bb390c5516e45ec762b8f73a6a27adb25 100644 --- a/nginx/local.conf +++ b/nginx/local.conf @@ -24,13 +24,19 @@ server { root /usr/share/nginx/html/; - # prerender news post for linkedin - location ~ ^/actualites/details/(.*)$ { + # Prerender news post for linkedin + # use regular expression for location to avoid nginx resolve error (https://stackoverflow.com/questions/57937222/502-bad-gateway-nginx-no-resolver-defined-to-resolve ) # + location ^~ /actualites/details/ { + + # proxy_set_header must be outside if clause (cf. https://stackoverflow.com/questions/16500594/why-i-cant-put-proxy-set-header-inside-an-if-clause ) + proxy_set_header User-Agent ""; + if ($prerender = 1) { # For use of proxy_pass within a regular expression location, cf. https://stackoverflow.com/a/53354944 - proxy_pass http://172.17.0.1:8030/api/render/$1; + proxy_pass http://172.17.0.1:8030/api/render/$uri; } + # if no prerender, apply default angular route try_files $uri $uri/ /index.html; }