log_format craft_log ' $remote_addr => $host | $request $status | [$time_iso8601] $request_uri $http_user_agent'; upstream craft_socket { server 127.0.0.1:1912; # Alan Turing } upstream craft_node { # Node.js server 127.0.0.1:1954; } server { listen 80; server_name ~^(?\w+).wcraft; root /Users/Can/every-lisp/wiredcraft/client/; index index.htm; listen 443 ssl; ssl_certificate /Users/Can/Projects/shopping/else/config/server.crt; ssl_certificate_key /Users/Can/Projects/shopping/else/config/server.key; ssl_prefer_server_ciphers on; proxy_intercept_errors on; set $client_dir /Users/Can/every-lisp/wiredcraft/client; location ~ /(:wechat|:member)/.*$ { access_log /Users/Can/Develop/nginx/craft.log.local.txt craft_log; proxy_pass http://craft_socket; add_header From "Hunchensocket"; proxy_read_timeout 1000d; # 1000 day proxy_send_timeout 1000d; # 1000 day 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_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; } location ~ /(-|\+|api)/(?.*) { access_log /Users/Can/Develop/nginx/craft.log.local.txt craft_log; root /Users/Can/every-lisp/wiredcraft/node/; proxy_pass http://craft_node; # /$1?$args; add_header IP $remote_addr; proxy_set_header X-Real-IP $remote_addr; add_header For Server; add_header X-Forwarde-For $proxy_add_x_forwarded_for; } location ~ ^/lib { root $client_dir; add_header Cache-Control "max-age=300000"; expires 2h; } location ~ ^/src { root /Users/Can/every-lisp/wiredcraft; add_header Cache-Control "max-age=300000"; expires 2h; } location = /server.js { try_files /server/$which.js 404; } location ~ ^[^.]*$ { try_files /index.htm 404; } location ~ ^/font { add_header Cache-Control "max-age=300000"; } location ~ / { # MUST write in the end!! # kill cache # add_header Last-Modified $date_gmt; # add_header Cache-Control 'no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0'; # if_modified_since off; add_header Cache-Control "max-age=0"; expires off; etag off; } }