Heim  >  Fragen und Antworten  >  Hauptteil

nodejs-express – Verwenden Sie nginx, um Port 80 eines bestimmten Domänennamens zu konfigurieren. Wenn der Root-Pfad die statische Datei nicht abrufen kann, wird sie an Port 9999 weitergeleitet, der von nodejs bereitgestellt wird.

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;
        }
}
我想大声告诉你我想大声告诉你2713 Tage vor717

Antworte allen(3)Ich werde antworten

  • 巴扎黑

    巴扎黑2017-05-16 17:22:54

    location / {
        try_files $uri @nodejs;
    }
    
    location @nodejs {
    
                    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;
            }

    Antwort
    0
  • 为情所困

    为情所困2017-05-16 17:22:54

    你设置一下404状态时转发。另外,你现在的配置是直接使用了反向代理,所有到80端口的都转向9999端口的代理服务器了。

    Antwort
    0
  • 为情所困

    为情所困2017-05-16 17:22:54

    可以使用try_files 或者 error_page两个命令都能实现你要的效果。

    同时还可以使用proxy_store实现完全静态化页面。

    Antwort
    0
  • StornierenAntwort