events { } http { map $http_upgrade $connection_upgrade { default upgrade; '' close; } charset utf-8; include mime.types; server { location /favicon.ico { alias /etc/nginx/favicon.ico; } location /apple-touch-icon.png { alias /etc/nginx/icon.png; } location / { # React APP proxy_pass http://app:3000; rewrite $1 break; } location /sockjs-node { proxy_pass http://app:3000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; } location /api { proxy_pass http://api:8081; rewrite /^api(.*)$ $1 break; } location /docs { proxy_pass http://api:8081; rewrite /^docs(.*)$ $1 break; } location /media { # The media files mounted in the docker volume sendfile on; sendfile_max_chunk 1m; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; autoindex on; autoindex_exact_size off; alias /opt/media; } } }