- cleaned up Dockefiles - added healthchecks to docker-compose files - moved celery & celery-beat to one container - cleaned up nginx config
121 lines
3.0 KiB
Nginx Configuration File
121 lines
3.0 KiB
Nginx Configuration File
user nginx;
|
|
worker_processes 1;
|
|
|
|
events {
|
|
worker_connections 1024;
|
|
}
|
|
|
|
http {
|
|
log_format upstreamlog '[$time_local] $remote_addr - $remote_user - $server_name $host to: $upstream_addr: $request $status upstream_response_time $upstream_response_time msec $msec request_time $request_time';
|
|
include /etc/nginx/mime.types;
|
|
client_max_body_size 100m;
|
|
|
|
proxy_read_timeout 300;
|
|
proxy_connect_timeout 300;
|
|
proxy_send_timeout 300;
|
|
proxy_buffer_size 8m;
|
|
proxy_busy_buffers_size 12m;
|
|
proxy_buffers 16 1m;
|
|
uwsgi_buffers 16 1m;
|
|
uwsgi_buffer_size 8m;
|
|
uwsgi_busy_buffers_size 12m;
|
|
|
|
map $http_upgrade $connection_upgrade {
|
|
default upgrade;
|
|
'' close;
|
|
}
|
|
|
|
upstream backend {
|
|
server backend:8000;
|
|
}
|
|
upstream batcher {
|
|
server batcher:8080;
|
|
}
|
|
upstream rabbitmq {
|
|
server rabbitmq:15672;
|
|
}
|
|
upstream bot {
|
|
server bot:7313;
|
|
}
|
|
|
|
server {
|
|
access_log /var/log/nginx/access.log upstreamlog;
|
|
error_log /var/log/nginx/error.log;
|
|
listen 80;
|
|
charset utf-8;
|
|
|
|
root /dist/;
|
|
index index.html;
|
|
|
|
# frontend
|
|
location / {
|
|
try_files $uri $uri/ @rewrites;
|
|
}
|
|
|
|
location @rewrites {
|
|
rewrite ^(.+)$ /index.html last;
|
|
}
|
|
|
|
# batcher
|
|
location ~ ^/api/v1/batcher(/?.*) {
|
|
rewrite ^(/api/v1)/batcher(/?.*)$ $1/$2 last;
|
|
proxy_pass http://batcher;
|
|
proxy_pass_header Authorization;
|
|
}
|
|
|
|
location ^~ /api/internal {
|
|
deny all;
|
|
}
|
|
|
|
# backend
|
|
location ~ ^/(admin|api) {
|
|
proxy_http_version 1.1;
|
|
proxy_pass http://backend;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
proxy_set_header X-Forwarded-Proto $scheme;
|
|
proxy_set_header Host $host;
|
|
proxy_set_header X-Forwarded-Host $host;
|
|
proxy_set_header X-Forwarded-Port $server_port;
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
}
|
|
|
|
# bot
|
|
location ~ ^/bot {
|
|
proxy_http_version 1.1;
|
|
proxy_pass http://bot;
|
|
}
|
|
|
|
# backend static
|
|
location ~ ^/(static)/(.*)$ {
|
|
alias /$1/$2;
|
|
}
|
|
|
|
|
|
# Some basic cache-control for static files to be sent to the browser
|
|
location ~* \.(?:ico|css|js|gif|jpe?g|png|webp)$ {
|
|
expires max;
|
|
add_header Pragma public;
|
|
add_header Cache-Control "public, must-revalidate, proxy-revalidate";
|
|
}
|
|
|
|
location ~ ^/rabbitmq/api/(.*?)/(.*) {
|
|
proxy_pass http://rabbitmq/api/$1/%2F/$2?$query_string;
|
|
proxy_buffering off;
|
|
proxy_set_header Host $http_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 ~ ^/rabbitmq/(.*) {
|
|
rewrite ^/rabbitmq/(.*)$ /$1 break;
|
|
proxy_pass http://rabbitmq;
|
|
proxy_buffering off;
|
|
proxy_set_header Host $http_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;
|
|
}
|
|
}
|
|
}
|