NginX + WordPress + SSL + non-www + W3TC vhost questions de file de configuration

J'ai les questions suivantes concernant mon (s) bloc (s) server pour un site WordPress fonctionnant uniquement sur https, avec la caching du browser nginx et W3TC.

Environnement:

Ubuntu – 14,04LTS

nginx – 1.4.6

PHP – 5.5.9

mysql – Ver 14.14 Dissortingb 5.5.41

Mes questions sont les suivantes:

  1. Est-ce que l'ordre des sections "location" est important?
  2. Est-ce que l'ordre du bloc W3TC est important?
  3. J'ai vu certains où "ssl" est mis dans la directive d'écoute au lieu d'utiliser "ssl on;" plus tard – cela count-t-il?
  4. Je manipule www => non-www dans le bloc server le plus élevé, mais je ne parle pas explicitement de http://domain.com => https://domain.com (forçant SSL), mais ça va en quelque sorte pour moi. Des idées pour lesquelles ça fonctionne même si je ne l'ai pas dit? Je suis content que ça fonctionne, je veux simplement comprendre pourquoi ça fonctionne.
  5. D'autres conseils généraux sur la configuration sont également appréciés. Merci!

Configuration de l'hôte virtuel:

 server {
   nom_server www.domain.com;
   réécrivez ^ (. *) https: //domain.com$1 permanent;
 }

 server {
   écouter 443 default_server;
   nom_server domain.com;

   root /usr/share/nginx/html/domain.com;
   index index.php index.html index.htm;

   # BEGIN W3TC Browser Cache
   gzip sur;
   gzip_types text / css text / application x-javascript application / javascript text / javascript text / x-js text / image richtext / svg + xml text / text brut / xsd text / xsl text / xml image / x-icon ;
   # END W3TC Browser Cache

   ssl on;
   ssl_certificatee /etc/ssl/certs/domain.com.rapidssl.crt;
   ssl_certificatee_key /etc/ssl/private/domain.com.key;
   ssl_session_timeout 5m;
   ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
   ssl_ciphers "HIGH:! aNULL:! MD5 ou HIGH:! aNULL:! MD5:! 3DES";
   ssl_prefer_server_ciphers on;

   location / {
     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;
     inclure fastcgi_params;
   }
 }

One Solution collect form web for “NginX + WordPress + SSL + non-www + W3TC vhost questions de file de configuration”

Ne postz pas de questions multiples en un seul.

La première étape, lorsque vous ne savez pas comment fonctionne quelque chose, est de searchr la documentation. Dans le cas de nginx, les directives sont explicitement expliquées dans l' index de la directive officielle sur la documentation .

  1. Cela dépend de la nature du bloc de localization. L'ordre des blocs d'location préfixé n'est pas important, mais l'ordre des blocs d'location regex est, puisque le premier correspondant à l'URI de la request sera sélectionné.

  2. L'ordre des directives de configuration n'a aucune importance, à l'exception de quelques cas comme if blocs. Les directives Gzip ne font pas partie de celles-ci.

  3. En fait, ssl on est l'ancienne façon de le faire et le paramètre de la directive écoute ssl est le nouveau. L'utilisation de ssl on bloc server d'accepter HTTPS uniquement alors que l'utilisation du paramètre de directive d'écoute permet de gérer à la fois HTTP et HTTP dans le même bloc de server.

  4. En fait, vous avez demandé explicitement à nginx de le faire. Une autre façon d'avoir le même résultat est d'utiliser le return 301 https://domain.com$request_uri . La réécriture de patten ^(.*) Correspond à tous les URI et les capture. Ensuite, il les réécrit en permanence (301 redirection) vers https://domain.com<uri> . Reportez-vous à la documentation pour comprendre comment fonctionne la fonction de réécriture si vous êtes confus.

  5. Les questions basées sur l'opinion ne correspondent pas aux normes SF.

  • Apache 2 vhost avec deux noms (host alias?)
  • Essayer d'installer php-cgi / Apache / Ubuntu 14.04
  • Route URL d'Apache2 vers le directory
  • L'hôte virtuel de la configuration du server Apache qui pointe vers le dossier
  • Proxy d'un autre domaine vers un hôte virtuel
  • Pourquoi ne puis-je pas me débarrasser de default index.html même si je désactive l'hôte virtuel par défaut dans Apache2?
  • Les espaces réservés pour apache2 VirtualHost
  • Redirection d'un dossier dans un VirtualHost avec Apache2
  • L'hôte virtuel Apache est ignoré dans la boîte Vagrant
  • Comment gérer plusieurs virtualhost (w / alias) sur Windows?
  • Comment suivre le process Apache CPU élevé à l'hôte virtuel particulier
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.