upstream backend { server app:3000; } server { listen 80; # default docker DNS resolver 127.0.0.11 ipv6=off valid=10s; # . files location ~ /\.(?!well-known) { deny all; } # logging access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log warn; # reverse proxy location / { proxy_pass http://backend$request_uri; proxy_set_header Host $host; proxy_http_version 1.1; # proxy headers 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-Host $server_name; # proxy timeouts proxy_connect_timeout 60s; proxy_send_timeout 60s; proxy_read_timeout 60s; } # favicon.ico location = /favicon.ico { log_not_found off; } # robots.txt location = /robots.txt { log_not_found off; } # gzip gzip on; gzip_vary on; gzip_proxied any; gzip_comp_level 6; gzip_types text/plain text/css text/xml application/json application/javascript application/rss+xml application/atom+xml image/svg+xml; }