我有一个关于我的服务器块的问题,只有在https上运行的WordPress站点,使用nginx和W3TC浏览器caching。
环境:
Ubuntu – 14.04LTS
nginx – 1.4.6
- 域名在nginx中redirect到错误的站点,在configuration文件中有多个站点
- 503虚拟主机上的错误
- 新的CentOS 7安装(Google Compute),不能将VirtualHost条目添加到/etc/httpd/conf.d/
- 如何在ESXi Server中创build团队?
- 虚拟主机的替代HOSTS文件?
PHP – 5.5.9
mysql – Ver 14.14 Distrib 5.5.41
我的问题如下:
虚拟主机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的情况下,通过官方文档指令索引详尽地解释了指令 。
这取决于位置块性质。 前缀的位置块顺序并不重要,但是正则expression式块的顺序是,因为匹配请求URI的第一个将被选取。
configuration指令顺序并不重要,除非less数情况下,如块。 Gzip指令不是这些的一部分。
事实上, ssl on是老办法,而listen指令参数ssl是新的。 使用ssl on强制服务器块仅接受HTTPS,而listen指令参数的使用允许在同一个服务器块中同时处理HTTP和HTTP。
其实你明确地问nginx做到这一点。 另一种获得相同结果的方法是使用return 301 https://domain.com$request_uri 。 重写模式^(.*)匹配所有URI并捕获它们。 然后它永久地重写(301redirect)到https://domain.com<uri> 。 如果您感到困惑,请参阅文档以了解重写指令是如何工作的。
基于意见的问题不符合SF标准。