我在运行PHP应用程序的Apache上运行Magento(电子商务PHP应用程序)作为反向代理。 静态内容由nginx直接提供。 Magento有一个使用503 HTTP响应的“维护模式”。 在维护模式启用的情况下,使用我的configuration,nginx返回一个带有500响应的空白页面,而不是带有503响应的Magento良好的维护模式页面。 如何让nginx让503页面传递给客户端?
这是我的nginxconfiguration:
上游examplecluster {server 1.2.3.4:80; }
服务器{
听1.2.3.5:80;
server_name www.example.com;
root /var/www/example.com/www;
#安全
位置〜(/(app/|includes/|lib/|pkginfo/|var/|report/config.xml|downloader/(pearlib|template|Maged)/)|/\.svn/|/\.ht.+ ){
返回404;
}
位置〜\ .php $ {
proxy_pass http:// examplecluster;
proxy_redirect默认;
}
#静态内容
位置 / {
try_files $ uri @apache;
到期7天;
}
#Apache
位置@apache {
proxy_pass http:// examplecluster;
proxy_redirect默认;
}
}
事实certificate,在服务503页面时确实存在错误,因此nginx正确地转发了响应。
但是,相关的nginx设置是proxy_intercept_errors off; 这已经是默认了..
我知道这是一个相当古老的线程。 – 但为什么不让nginx同时提供静态和dynamic内容?
我的意思是,nginx已经是一个可以用来运行magento应用程序的web服务器。 而且您已经将其configuration为处理静态内容。 让它处理dynamic内容也很容易吧?