From 907b614f25be339398c47ae019ae7deb066448b7 Mon Sep 17 00:00:00 2001 From: Redume Date: Mon, 10 Feb 2025 17:57:43 +0300 Subject: [PATCH] chore(nginx): Rout rules have been split into and moved to another folder --- .dockerignore | 3 +- docker-compose.yaml | 3 +- nginx.conf | 96 ---------------------------------- nginx/.gitignore | 2 + nginx/chart/nginx.conf | 19 +++++++ nginx/nginx.conf | 28 ++++++++++ robots.txt => nginx/robots.txt | 0 nginx/server/nginx.conf | 37 +++++++++++++ 8 files changed, 89 insertions(+), 99 deletions(-) delete mode 100644 nginx.conf create mode 100644 nginx/.gitignore create mode 100644 nginx/chart/nginx.conf create mode 100644 nginx/nginx.conf rename robots.txt => nginx/robots.txt (100%) create mode 100644 nginx/server/nginx.conf diff --git a/.dockerignore b/.dockerignore index 55f99ce..e305195 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,2 +1,3 @@ node_modules/ -docs/ \ No newline at end of file +docs/ +.gitignore \ No newline at end of file diff --git a/docker-compose.yaml b/docker-compose.yaml index 0faf2df..6eca53c 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -5,9 +5,8 @@ services: - '80:80' - '443:443' volumes: - - ./nginx.conf:/etc/nginx/nginx.conf + - ./nginx/:/etc/nginx/ - ./CertSSL:/etc/nginx/ssl - - ./robots.txt:/etc/nginx/robots.txt - ./assets/logo.png:/etc/nginx/assets/logo.png depends_on: - server diff --git a/nginx.conf b/nginx.conf deleted file mode 100644 index fe6a393..0000000 --- a/nginx.conf +++ /dev/null @@ -1,96 +0,0 @@ -events { } - -http { - limit_req_zone $binary_remote_addr zone=kekkai:10m rate=10r/s; - # Change the number '10' to your own, to change the threshold number for rate limit - - upstream server_backend { - server server:3000; - } - - upstream chart_backend { - server chart:3030; - } - - server { - listen 80; - server_name localhost; # Your domain - - limit_req zone=kekkai; - - return 301 https://$host$request_uri$is_args$args; - } - - server { - listen 443 ssl; - server_name localhost; # Your domain - - ssl_certificate /etc/nginx/ssl/fullchain.pem; - ssl_certificate_key /etc/nginx/ssl/privkey.pem; - - limit_req zone=kekkai; - - location / { - limit_req zone=kekkai burst=4; - - add_header Access-Control-Allow-Origin *; - proxy_pass http://server_backend; - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - } - - location /api/getRate { - limit_req zone=kekkai burst=4; - - add_header Access-Control-Allow-Origin *; - proxy_pass http://server_backend; - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - } - - location /api/metadata { - limit_req zone=kekkai burst=4; - - add_header Access-Control-Allow-Origin *; - proxy_pass http://server_backend; - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - } - - location /api/getChart { - limit_req zone=kekkai burst=4; - - add_header Access-Control-Allow-Origin *; - proxy_pass http://chart_backend; - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - } - - location /static/chart { - limit_req zone=kekkai burst=4; - - add_header Access-Control-Allow-Origin *; - proxy_pass http://chart_backend; - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - } - - location /robots.txt { - alias /etc/nginx/robots.txt; - } - - location /favicon.ico { - alias /etc/nginx/assets/logo.png; - } - } -} \ No newline at end of file diff --git a/nginx/.gitignore b/nginx/.gitignore new file mode 100644 index 0000000..1eef8ec --- /dev/null +++ b/nginx/.gitignore @@ -0,0 +1,2 @@ +ssl +assets \ No newline at end of file diff --git a/nginx/chart/nginx.conf b/nginx/chart/nginx.conf new file mode 100644 index 0000000..6521b68 --- /dev/null +++ b/nginx/chart/nginx.conf @@ -0,0 +1,19 @@ +location /api/getChart { + limit_req zone=kekkai burst=4; + + proxy_pass http://chart:3030; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; +} + +location /static/chart { + limit_req zone=kekkai burst=4; + + proxy_pass http://chart:3030; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; +} diff --git a/nginx/nginx.conf b/nginx/nginx.conf new file mode 100644 index 0000000..c41ee59 --- /dev/null +++ b/nginx/nginx.conf @@ -0,0 +1,28 @@ +events { } + +http { + limit_req_zone $binary_remote_addr zone=kekkai:10m rate=10r/s; + + server { + listen 80; + server_name localhost; # Your domain + + limit_req zone=kekkai; + + return 301 https://$host$request_uri$is_args$args; + } + + server { + listen 443 ssl; + + server_name localhost; # Your domain + + ssl_certificate /etc/nginx/ssl/fullchain.pem; + ssl_certificate_key /etc/nginx/ssl/privkey.pem; + + limit_req zone=kekkai; + + include chart/nginx.conf; + include server/nginx.conf; + } +} \ No newline at end of file diff --git a/robots.txt b/nginx/robots.txt similarity index 100% rename from robots.txt rename to nginx/robots.txt diff --git a/nginx/server/nginx.conf b/nginx/server/nginx.conf new file mode 100644 index 0000000..409e6e3 --- /dev/null +++ b/nginx/server/nginx.conf @@ -0,0 +1,37 @@ +location / { + limit_req zone=kekkai burst=4; + + proxy_pass http://server:3000; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; +} + +location /api/getRate/ { + limit_req zone=kekkai burst=4; + + proxy_pass http://server:3000; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; +} + +location /api/metadata/ { + limit_req zone=kekkai burst=4; + + proxy_pass http://server:3000; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; +} + +location /robots.txt { + alias robots.txt; +} + +location /favicon.ico { + alias assets/logo.png; +}