server { listen 80; server_name localhost; root /twake-core/web; add_header Strict-Transport-Security "max-age=31536000"; location / { return 302 https://web.twake.app/; } location ~ ^/(internal|plugins).* { proxy_pass http://node:3000; } location ~ ^/(api|administration)/v2/.* { proxy_pass http://node:3000; } location ~ ^/socket/.* { proxy_pass http://node:3000; # this magic is needed for WebSocket proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_connect_timeout 7d; proxy_send_timeout 7d; proxy_read_timeout 7d; } location ~ ^/(ajax|api|administration|upload|bundle|medias).* { # try to serve file directly, fallback to rewrite try_files $uri @rewriteapp; } location @rewriteapp { # rewrite all to app.php rewrite ^(.*)$ /app.php/$1 last; } location ~ /.well-known { allow all; } location ~ ^/(app|app_dev|config|dev\/.*)\.php(/|$) { fastcgi_pass php-upstream; fastcgi_split_path_info ^(.+\.php)(/.*)$; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param HTTPS off; fastcgi_buffer_size 128k; fastcgi_buffers 4 256k; fastcgi_busy_buffers_size 256k; } location ~ /.well-known { allow all; } error_log /var/log/nginx/twakeapp_dev_error.log; access_log /var/log/nginx/twakeapp_dev_access.log; }