設想:
第一個 Node.js 應用程式在 127.0.0.1:8888 上運行並提供服務只有一條路線'domain.com/track.gif'
第二個node.js 應用程式在127.0.0.1:3000 上運行,它是第一個應用程式收集的統計資料的儀表板,可在“domain.com”(以及“domain.com/login”或“ domain.com”等其他路由)上使用/儀表板'等)
當我使用下面的配置時 - 僅適用於第一個應用程序,第一個應用程序運行良好,當我點擊“domain.com/track.gif”時,它提供此跟踪 gif 文件:
upstream tracker {
server 127.0.0.1:8888;
}
server {
listen 0.0.0.0:80;
server_name www.domain.com domain.com;
access_log /var/log/nginx/domain_access.log;
error_log /var/log/nginx/domain_error.log;
location /track.gif {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://tracker;
proxy_redirect off;
}
}
如何向此配置新增另一個(第二個)node.js 應用程式以處理「domain.com/」或「domain.com/dashboard」或「domain.com/login」等路由的整個路由?
先致謝!
答案1
新增第二個位置區塊。它將匹配 /track.gif 之外的任何路徑。
upstream tracker {
server 127.0.0.1:8888;
}
server {
listen 0.0.0.0:80;
server_name www.domain.com domain.com;
access_log /var/log/nginx/domain_access.log;
error_log /var/log/nginx/domain_error.log;
location /track.gif {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://tracker;
proxy_redirect off;
}
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://127.0.0.1:3000;
proxy_redirect off;
}