Nginx + WordPress + SSL +非www + W3TC vhostconfiguration文件问题

我有一个关于我的服务器块的问题,只有在https上运行的WordPress站点,使用nginx和W3TC浏览器caching。

环境:

Ubuntu – 14.04LTS

nginx – 1.4.6

PHP – 5.5.9

mysql – Ver 14.14 Distrib 5.5.41

我的问题如下:

  1. “地点”部分的顺序是否重要?
  2. W3TC块的顺序是否重要?
  3. 我已经看到一些“ssl”放在listen指令中,而不是使用“ssl on”。 以后 – 这有什么关系吗?
  4. 我处理www =>非www在顶端的服务器块,但我没有明确解决http://domain.com => https://domain.com (强制SSL) – 但它不知何故是这样做的我。 任何想法为什么这是工作,即使我没有告诉它? 我很高兴它的工作,我只是想明白为什么它的工作。
  5. 任何其他一般的build议,也赞赏。 谢谢!

虚拟主机configuration:

服务器{server_name www.domain.com; 重写^(。*)https://domain.com$1永久;  } server {listen 443 default_server;  server_name domain.com;  root /usr/share/nginx/html/domain.com;  index index.php index.html index.htm;  #BEGIN W3TC Browser Cache gzip on;  gzip_types text / css text / x-component application / x-javascript application / javascript text / javascript text / x-js text / richtext image / svg + xml text / plain text / xsd text / xsl text / xml image / x-icon ;  #END W3TC Browser Cache ssl on;  ssl_certificate /etc/ssl/certs/domain.com.rapidssl.crt;  ssl_certificate_key /etc/ssl/private/domain.com.key;  ssl_session_timeout 5m;  ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;  ssl_ciphers“HIGH:!aNULL:!MD5或HIGH:!aNULL:!MD5:!3DES”;  ssl_prefer_server_ciphers; 位置/ {try_files $ uri $ uri / /index.php?q=$uri&$args;  } error_page 404 /404.html;  error_page 500 502 503 504 /50x.html;  location = /50x.html {root / usr / share / nginx / html;  } location〜\ .php $ {try_files $ uri = 404;  fastcgi_pass unix:/var/run/php5-fpm.sock;  fastcgi_index index.php; 包括fastcgi_params;  }} 

请不要在一个多个问题。

第一步,当你不知道如何工作时,是search文档。 在nginx的情况下,通过官方文档指令索引详尽地解释了指令

  1. 这取决于位置块性质。 前缀的位置块顺序并不重要,但是正则expression式块的顺序是,因为匹配请求URI的第一个将被选取。

  2. configuration指令顺序并不重要,除非less数情况下,如块。 Gzip指令不是这些的一部分。

  3. 事实上, ssl on是老办法,而listen指令参数ssl是新的。 使用ssl on强制服务器块仅接受HTTPS,而listen指令参数的使用允许在同一个服务器块中同时处理HTTP和HTTP。

  4. 其实你明确地问nginx做到这一点。 另一种获得相同结果的方法是使用return 301 https://domain.com$request_uri 。 重写模式^(.*)匹配所有URI并捕获它们。 然后它永久地重写(301redirect)到https://domain.com<uri> 。 如果您感到困惑,请参阅文档以了解重写指令是如何工作的。

  5. 基于意见的问题不符合SF标准。