Web-Server

通過埠 80 為多個伺服器(即 Apache/Node)提供不同的域請求

  • July 9, 2014

我真正想做的是在同一個 Raspberry Pi(執行 Debian for Pi)上執行 Node 和 Apache(或者可能是 nginx)。

apache可以為同一IP上的多個站點設置虛擬主機,並通過查看請求的域來確定要載入哪個站點,我想以某種方式對多個不同的伺服器執行相同的操作。

是否可以在埠 80 上執行某種代理,並在其他埠上執行 apache/node/others 並將特定域請求路由到它們?

Nginx 非常擅長這一點。例如:

server {
   listen 80;
   server_name www.example.com


   location / {
     proxy_set_header X-Real-IP  $remote_addr;
     proxy_set_header X-Forwarded-For $remote_addr;
     proxy_set_header Host $host;
     proxy_pass http://127.0.0.1:81;
     proxy_read_timeout 4m;
   }

   location ~ /\.ht {
     deny all;
   }

   access_log /var/log/nginx/foobar/access.log;

   client_max_body_size 25m;
}

您還可以添加類似這樣的內容(通過讓 nginx 提供圖像來解除安裝底層 apache):

location ~ /media/(.*)$ {
     alias /var/www/foobar/media/$1;
     expires 7d;
}

引用自:https://serverfault.com/questions/611216