我正在尝试使用 varnish 作为 Nginx 的前端代理。
当我尝试使用以下内容作为我的 vhost 配置时:
server {
listen 8080;
server_name playwithbits.com www.playwithbits.com;
# limit_conn limit_per_ip 16;
# ssi on;
access_log /home/nginx/domains/playwithbits/log/access.log combined buffer=32k;
error_log /home/nginx/domains/playwithbits/log/error.log;
root /home/nginx/domains/playwithbits/public;
location / {
# Enables directory listings when index file not found
#autoindex on;
# Shows file listing times as local time
#autoindex_localtime on;
# Enable for vBulletin usage WITHOUT vbSEO installed
#try_files / /index.php;
}
include /usr/local/nginx/conf/staticfiles.conf;
include /usr/local/nginx/conf/php.conf;
include /usr/local/nginx/conf/drop.conf;
#include /usr/local/nginx/conf/errorpage.conf;
}
但是,当我指定listen 8080
并重定向到默认 nginx web 根目录(如中所指定virtual.conf
)时,它会停止工作,如果我删除该行,它会按预期工作并重定向到正确的目录。
有谁知道为什么会发生这种情况以及如何为我的 vhost 设置非标准端口以便 varnish 可以监听端口 80。
答案1
问题不是 Nginx,而是 Wordpress。显然 WordPress 会自行重定向,因此您必须将端口扩展放到WordPress Address (URL)
仪表板的设置中,如下所示:
http://playwithbits.com:8080
并且它可以工作,否则 WordPress 会重定向到端口 80,导致我的默认 Nginx 配置启动。