Skip to content
4 changes: 2 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
FROM jboesl/docker-nginx-headers-more
ADD nginx.conf opex.dev.crt private.pem /etc/nginx/
FROM nginx:1.20.2
ADD nginx.conf opex.dev.crt private.pem /etc/nginx/
86 changes: 47 additions & 39 deletions nginx.conf
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ events {
http {
include /etc/nginx/mime.types;
sendfile on;
limit_req_zone $binary_remote_addr zone=default:80m rate=20r/s;

ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
Expand Down Expand Up @@ -53,6 +54,19 @@ http {
server payment:8080;
}

upstream docker-referral {
server referral:8080;
}

upstream docker-captcha {
server captcha:8080;
}

proxy_hide_header Access-Control-Allow-Credentials;
proxy_hide_header Access-Control-Allow-Origin;
proxy_hide_header Access-Control-Allow-Headers;
proxy_hide_header Access-Control-Allow-Methods;

proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
Expand All @@ -66,21 +80,15 @@ http {
server_name demo.opex.dev:8443;

location ^~ /auth {
resolver 127.0.0.11;
set $backend http://docker-auth;
proxy_pass $backend;
proxy_pass http://docker-auth;
}

location ~* \.(.*)$ {
resolver 127.0.0.11;
set $backend http://docker-web-app;
proxy_pass $backend;
proxy_pass http://docker-web-app;
}

location / {
resolver 127.0.0.11;
set $backend http://docker-web-app;
proxy_pass $backend;
proxy_pass http://docker-web-app;
rewrite .* / break;
}
}
Expand All @@ -92,18 +100,19 @@ http {
server_name api.opex.dev;
server_name api.opex.dev:8443;

more_set_headers 'Access-Control-Allow-Origin: *';
more_set_headers 'Access-Control-Allow-Headers: *';
more_set_headers 'Access-Control-Allow-Methods: POST, PUT, PATCH, GET, DELETE, OPTIONS, HEAD';
limit_req zone=default burst=5 nodelay;

add_header Access-Control-Allow-Credentials false always;
add_header Access-Control-Allow-Origin * always;
add_header Access-Control-Allow-Headers * always;
add_header Access-Control-Allow-Methods 'POST, PUT, PATCH, GET, DELETE, OPTIONS, HEAD' always;

if ($request_method = 'OPTIONS') {
return 204;
}

location /auth {
resolver 127.0.0.11;
set $backend http://docker-auth;
proxy_pass $backend;
proxy_pass http://docker-auth;
}

location /wallet/transfer {
Expand All @@ -119,30 +128,27 @@ http {
}

location /wallet {
resolver 127.0.0.11;
set $backend http://docker-wallet;
proxy_pass $backend;
proxy_pass http://docker-wallet;
rewrite ^/wallet/(.*)$ /$1 break;
}

location /gateway {
resolver 127.0.0.11;
set $backend http://docker-matching-gateway;
proxy_pass $backend;
proxy_pass http://docker-matching-gateway;
rewrite ^/gateway/(.*)$ /$1 break;
}

location /storage {
resolver 127.0.0.11;
set $backend http://docker-storage;
proxy_pass $backend;
proxy_pass http://docker-storage;
rewrite ^/storage/(.*)$ /$1 break;
}

location /referral {
proxy_pass http://docker-referral;
rewrite ^/referral/(.*)$ /$1 break;
}

location /stream {
resolver 127.0.0.11;
set $backend http://docker-websocket;
proxy_pass $backend;
proxy_pass http://docker-websocket;
# WS config
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
Expand All @@ -152,33 +158,35 @@ http {
}

location /ipg {
resolver 127.0.0.11;
set $backend http://docker-ipg;
proxy_pass $backend;
proxy_pass http://docker-ipg;
rewrite ^/ipg/(.*)$ /$1 break;
}

location /admin {
resolver 127.0.0.11;
set $backend http://docker-admin;
proxy_pass $backend;
proxy_pass http://docker-admin;
rewrite ^/admin/(.*)$ /$1 break;
}

location /api {
resolver 127.0.0.11;
set $backend http://docker-api;
proxy_pass $backend;
proxy_pass http://docker-api;
rewrite ^/api/(.*)$ /$1 break;
}

location /sapi {
resolver 127.0.0.11;
set $backend http://docker-api;
proxy_pass $backend;
proxy_pass http://docker-api;
rewrite ^/sapi/(.*)$ /$1 break;
}

location /captcha {
add_header Access-Control-Allow-Credentials false always;
add_header Access-Control-Allow-Origin * always;
add_header Access-Control-Allow-Headers * always;
add_header Access-Control-Allow-Methods 'POST, PUT, PATCH, GET, DELETE, OPTIONS, HEAD' always;
add_header Access-Control-Expose-Headers 'Captcha-Session-Key, Captcha-Expire-Timestamp' always;
proxy_pass http://docker-captcha;
rewrite ^/captcha/(.*)$ /$1 break;
}

location /binance {
resolver 127.0.0.11;
proxy_set_header Host api.binance.com;
Expand Down