我現(xiàn)在寫的程式碼如下,不管用。
是需要寫rewrite規(guī)則,用正規(guī)表示式,或是if之類的?
以及:如果在nodejs中設(shè)定靜態(tài)檔案目錄,app.use(express.static(__dirname));
這樣,效能上會(huì)比nginx直接判斷處理低嗎?
server {
listen 80;
server_name xxx.wechattest.com;
root /path/to/static/root;
index index.html;
location / {
proxy_pass http://127.0.0.1:9999;//nodejs service is running on port 9999
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 100M;
client_body_buffer_size 1m;
proxy_intercept_errors on;
proxy_buffering off;
proxy_buffer_size 128k;
proxy_buffers 256 16k;
proxy_busy_buffers_size 256k;
proxy_temp_file_write_size 256k;
proxy_max_temp_file_size 0;
proxy_read_timeout 300;
}
}
你設(shè)定一下404狀態(tài)時(shí)轉(zhuǎn)送。另外,你現(xiàn)在的設(shè)定是直接使用了反向代理,所有到80埠的都轉(zhuǎn)向9999埠的代理伺服器了。
可以使用try_files 或 error_page兩個(gè)指令都能實(shí)現(xiàn)你想要的效果。
同時(shí)還可以使用proxy_store實(shí)現(xiàn)完全靜態(tài)化頁面。