Der Code, den ich gerade schreibe, lautet wie folgt, aber er funktioniert nicht.
Muss ich Rewrite-Regeln unter Verwendung regulärer Ausdrücke schreiben, oder wenn?
Und: Wenn Sie das statische Dateiverzeichnis in NodeJS konfigurieren, app.use(express.static(__dirname));
wird die Leistung geringer sein als die direkte Beurteilung und Verarbeitung durch 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;
}
}
你设置一下404状态时转发。另外,你现在的配置是直接使用了反向代理,所有到80端口的都转向9999端口的代理服务器了。
可以使用try_files 或者 error_page两个命令都能实现你要的效果。
同时还可以使用proxy_store实现完全静态化页面。