refactor(dc): ♻ prevent nginx from failing when upstreams not up

This commit is contained in:
Collin M. Barrett 2021-10-30 11:00:21 -05:00
parent d58309ae8b
commit 46b2ac59f4
4 changed files with 31 additions and 21 deletions

View file

@ -6,8 +6,6 @@ services:
reverse-proxy:
ports:
- "443:443"
depends_on:
- web
volumes:
- ./reverse-proxy/server-includes:/etc/nginx/server-includes:ro
- ./reverse-proxy/location-includes:/etc/nginx/location-includes:ro

View file

@ -6,8 +6,6 @@ services:
restart: always
networks:
- reverse-proxy
depends_on:
- directory-api
api-docs:
image: swaggerapi/swagger-ui:latest

View file

@ -2,23 +2,29 @@ server {
listen 80 default_server;
include server-includes/*;
# location ^~ /api/archival/ {
# rewrite ^/api/archival/(.*)$ /$1 break;
# proxy_pass http://archival-api:80;
# include location-includes/*;
# add_header Content-Security-Policy "upgrade-insecure-requests; default-src 'none'; base-uri 'none'; frame-ancestors 'none'; form-action 'none';" always;
# }
location ^~ /api/archival/ {
rewrite ^/api/archival/(.*)$ /$1 break;
resolver 127.0.0.11 valid=30s;
set $archival-api archival-api;
proxy_pass http://$archival-api:80;
include location-includes/*;
add_header Content-Security-Policy "upgrade-insecure-requests; default-src 'none'; base-uri 'none'; frame-ancestors 'none'; form-action 'none';" always;
}
location ^~ /api/directory/ {
rewrite ^/api/directory/(.*)$ /$1 break;
proxy_pass http://directory-api:80;
resolver 127.0.0.11 valid=30s;
set $directory-api directory-api;
proxy_pass http://$directory-api:80;
include location-includes/*;
add_header Content-Security-Policy "upgrade-insecure-requests; default-src 'none'; base-uri 'none'; frame-ancestors 'none'; form-action 'none';" always;
}
location ^~ /api/ {
rewrite ^/api/(.*)$ /$1 break;
proxy_pass http://api-docs:8080;
resolver 127.0.0.11 valid=30s;
set $api-docs api-docs;
proxy_pass http://$api-docs:8080;
include location-includes/*;
add_header Content-Security-Policy "upgrade-insecure-requests; default-src 'none'; base-uri 'none'; frame-ancestors 'none'; form-action 'none'; connect-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; img-src 'self' validator.swagger.io data:;" always;
}

View file

@ -5,29 +5,37 @@ server {
ssl_certificate /etc/nginx/cert/filterlists_cert.pem;
ssl_certificate_key /etc/nginx/cert/filterlists_key.pem;
# location ^~ /api/archival/ {
# rewrite ^/api/archival/(.*)$ /$1 break;
# proxy_pass http://archival-api:80;
# include location-includes/*;
# add_header Content-Security-Policy "upgrade-insecure-requests; default-src 'none'; base-uri 'none'; frame-ancestors 'none'; form-action 'none';" always;
# }
location ^~ /api/archival/ {
rewrite ^/api/archival/(.*)$ /$1 break;
resolver 127.0.0.11 valid=30s;
set $archival-api archival-api;
proxy_pass http://$archival-api:80;
include location-includes/*;
add_header Content-Security-Policy "upgrade-insecure-requests; default-src 'none'; base-uri 'none'; frame-ancestors 'none'; form-action 'none';" always;
}
location ^~ /api/directory/ {
rewrite ^/api/directory/(.*)$ /$1 break;
proxy_pass http://directory-api:80;
resolver 127.0.0.11 valid=30s;
set $directory-api directory-api;
proxy_pass http://$directory-api:80;
include location-includes/*;
add_header Content-Security-Policy "upgrade-insecure-requests; default-src 'none'; base-uri 'none'; frame-ancestors 'none'; form-action 'none';" always;
}
location ^~ /api/ {
rewrite ^/api/(.*)$ /$1 break;
proxy_pass http://api-docs:8080;
resolver 127.0.0.11 valid=30s;
set $api-docs api-docs;
proxy_pass http://$api-docs:8080;
include location-includes/*;
add_header Content-Security-Policy "upgrade-insecure-requests; default-src 'none'; base-uri 'none'; frame-ancestors 'none'; form-action 'none'; connect-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; img-src 'self' validator.swagger.io data:;" always;
}
location / {
proxy_pass http://web:80;
resolver 127.0.0.11 valid=30s;
set $web web;
proxy_pass http://$web:80;
include location-includes/*;
add_header Content-Security-Policy "upgrade-insecure-requests; default-src 'none'; base-uri 'none'; frame-ancestors 'none'; form-action 'none'; connect-src 'self'; script-src 'self'; style-src 'self'; img-src 'self' data:; manifest-src 'self';" always;
}