From ef36f93fde9543d7bae5e319ba3d624f370a2fe9 Mon Sep 17 00:00:00 2001 From: vchikalkin Date: Fri, 8 Sep 2023 12:36:03 +0300 Subject: [PATCH] add auth_request --- .env | 2 ++ docker-compose.yml | 14 +++++++++--- nginx.conf | 54 ++++++++++++++++++++++++++++++++++------------ 3 files changed, 53 insertions(+), 17 deletions(-) diff --git a/.env b/.env index 56eda8a..dec612e 100644 --- a/.env +++ b/.env @@ -1,5 +1,7 @@ TRAEFIK_APP_NAME=evo_logger TRAEFIK_NETWORK_NAME= +AUTH_TOKEN_SECRET= + URL_LOG= WEB_HOST= \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index 2047517..793f35c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,6 +1,14 @@ version: '3' services: + auth_logs_api: + environment: + - TOKEN_SECRET=${AUTH_TOKEN_SECRET} + build: ./Evo.LogsAPI.Auth + networks: + - evo_logsapi_network + restart: always + server: extends: file: docker.traefik.yml @@ -13,10 +21,10 @@ services: environment: - URL_LOG=${URL_LOG} networks: - - evo_logger_network + - evo_logsapi_network networks: - evo_logger_network: - name: evo_logger_network + evo_logsapi_network: + name: evo_logsapi_network web: external: true diff --git a/nginx.conf b/nginx.conf index 5fc5060..f78ad31 100644 --- a/nginx.conf +++ b/nginx.conf @@ -1,26 +1,52 @@ +upstream auth_logs_api { + server auth_logs_api:3000; +} + + server { - listen 80; + listen 80; - gzip on; - gzip_min_length 1000; - gzip_proxied any; - gzip_comp_level 1; - gzip_types text/css text/javascript text/xml text/plain text/x-component application/javascript application/json application/xml application/rss+xml font/truetype font/opentype application/vnd.ms-fontobject image/svg+xml; - gzip_vary on; - gzip_disable "msie6"; + gzip on; + gzip_min_length 1000; + gzip_proxied any; + gzip_comp_level 1; + gzip_types text/css text/javascript text/xml text/plain text/x-component application/javascript application/json application/xml application/rss+xml font/truetype font/opentype application/vnd.ms-fontobject image/svg+xml; + gzip_vary on; + gzip_disable "msie6"; - include /etc/nginx/mime.types; + include /etc/nginx/mime.types; + + location /auth-srv/ { + internal; + + + proxy_pass_request_body off; + proxy_set_header Content-Length ""; + proxy_set_header X-Original-URI $request_uri; + proxy_set_header X-Original-Remote-Addr $remote_addr; + proxy_set_header X-Original-Host $host; + + proxy_pass http://auth_logs_api/; + } + + location = /auth { + internal; + + proxy_pass /auth-srv/auth/check-token; + } location /log { - auth_request /auth; - proxy_pass $URL_LOG; + auth_request /auth; + auth_request_set $accnumber $upstream_http_acc_number; + + proxy_pass $URL_LOG; } location = /health { - access_log off; - add_header 'Content-Type' 'application/json'; - return 200 'UP'; + access_log off; + add_header 'Content-Type' 'application/json'; + return 200 'UP'; } } \ No newline at end of file