我们使用 nginx 来提供静态内容,使用 apache 来提供动态内容。
我已将默认服务器配置定义为:
#Set a default server that simply proxies all requests to apache
server
{
listen 80 default_server;
server_name _;
location /
{
proxy_pass http://127.0.0.1:8080;
}
}
如果由于某种原因 server_name 不匹配,那么将所有内容代理到 apache 的最佳方法是什么?
是的,这是最好也是唯一明智的方法。您甚至可以完全省略服务器名。
如果您使用 SSL,那么您需要为 default_server 提供一些额外的管道 - 证书和密钥(可以自签名)。
Nginx 将尝试在 IP/端口匹配的 default_server 上接受 SSL 连接。如果此类服务器缺少证书/密钥,nginx 将断开连接。它不会尝试其他服务器。所以不要忘记证书/密钥。