我真正希望做的是在同一个 Raspberry Pi(运行 Debian for Pi)上运行 Node 和 Apache(或者可能是 nginx)。
Apache 可以在同一个 IP 上为多个站点设置虚拟主机,并通过查看请求的域来确定要加载哪个站点,我想以某种方式对多个不同的服务器执行相同的操作。
是否可以在端口 80 上运行某种代理,并在其他端口上运行 apache/node/others 并将特定域请求路由到它们?
答案1
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;
}