Domande sui file di configuration di NginX + WordPress + SSL + non-www + W3TC vhost

Ho le seguenti domande circa i miei blocchi di server per un sito di WordPress in esecuzione esclusivamente su https, con la cache del browser di nginx e W3TC.

Ambiente:

  • Come get HTTP preseed per funzionare correttamente su Ubuntu 10.04 LTS (Lucid)?
  • È necessario creare CSR sul server che ospiterà il certificato SSL?
  • Riscrivi sulla root del dominio solo in nginx
  • Qualcuno che utilizza KVM nella produzione?
  • Ricompilare NGINX con "--with-http_stub_status_module" configurare la row
  • Eseguire più server pubblici accessibili a livello pubblico in un singolo indirizzo IP
  • Ubuntu – 14.04LTS

    nginx – 1.4.6

    PHP – 5.5.9

    mysql – Ver 14.14 Distrib 5.5.41

    Le mie domande sono le seguenti:

    1. L'ordine delle sezioni "location" è importnte?
    2. L'ordine del block W3TC è importnte?
    3. Ho visto alcuni where "ssl" è inserito nella direttiva di ascolto invece di utilizzare "ssl on;" più tardi – import?
    4. Io gestisco www => non-www nel block server superiore, ma non sto esplicitamente affrontando http://domain.com => https://domain.com (forzando SSL) – ma in qualche modo lo fa per me. Qualche idea di perché funziona anche se non l'ho detto? Sono contento che funziona, voglio solo capire perché funziona.
    5. Anche altri consigli generali sull'installazione sono apprezzati. Grazie!

    Configurazione host virtuale:

     server {
       nome_server www.domain.com;
       riscrivere ^ (. *) https: //domain.com$1 permanente;
     }
    
     server {
       ascoltare 443 default_server;
       server_name domain.com;
    
       root /usr/share/nginx/html/domain.com;
       indice index.php index.html index.htm;
    
       # BEGIN W3TC Browser Cache
       gzip su;
       gzip_types text / css text / applicazione x-component / applicazione x-javascript / javascript text / javascript text / x-js text / richtext image / svg + xml text / text semplice / xsd text / xsl text / xml image / x-icon ;
       # END W3TC Cache del browser
    
       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 o HIGH:! aNULL:! MD5:! 3DES";
       ssl_prefer_server_ciphers on;
    
       luogo / {
         try_files $ uri $ uri / /index.php?q=$uri&$args;
       }
    
       errore_pagina 404 /404.html;
       pagina error_page 500 502 503 504 / 50x.html;
       location = /50x.html {
         root / usr / share / nginx / html;
       }
    
       posizione ~ \ .php $ {
         try_files $ uri = 404;
         fastcgi_pass unix: /var/run/php5-fpm.sock;
         fastcgi_index index.php;
         include fastcgi_params;
       }
     }
    

  • Nginx non elaborando le direttive proxy_hide_header e proxy_ignore_header
  • Riscrivere una sottodirectory per root su nginx
  • Per che cosa è il "well-known" -folder?
  • Come negare l'accesso a file php all'interno di una directory? nginx
  • Nginx - Percorso tutte le richieste a script singolo
  • Come posso confrontare i file system Linux su una SAN?
  • One Solution collect form web for “Domande sui file di configuration di NginX + WordPress + SSL + non-www + W3TC vhost”

    Non submit più domande in uno.

    Il primo passo, quando non sai come funziona qualcosa, è quello di cercare la documentazione. Nel caso di nginx, le direttive sono spiegate in maniera esaustiva attraverso l' indice della direttiva documentazione ufficiale .

    1. Dipende dalla natura del block di posizione. L'ordine di blocchi di posizione prefisso non è importnte, ma l'ordine di blocchi di posizione regex è, poiché verrà selezionato il primo corrispondente all'URI della richiesta.

    2. L'ordine delle direttive di configuration non import tranne alcuni casi come if blocchi. Le direttive Gzip non fanno parte di queste.

    3. In effetti ssl on è il vecchio modo per farlo e il parametro di controllo ascolti ssl è il nuovo. L'utilizzo di ssl on impone al block server di accettare HTTPS solo mentre l'utilizzo del parametro della direttiva ascolto consente di gestire HTTP e HTTP nello stesso block di server.

    4. In realtà lei ha chiesto esplicitamente a nginx di farlo. Un altro modo per avere lo stesso risultato è utilizzare il return 301 https://domain.com$request_uri . Il patten ^(.*) Di riscrittura corrisponde a tutti gli URI e li cattura. Quindi li riscrive permanentemente (301 reindirizzamento) a https://domain.com<uri> . Fare riferimento alla documentazione per capire come funziona la direttiva di riscrittura se si è confusi.

    5. Le domande basate su opinioni non sono conformi agli standard SF.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.