非标准端口上的 Nginx vhost 不工作

非标准端口上的 Nginx vhost 不工作

我正在尝试使用 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 配置启动。

相关内容