2017-12-30 25 views
-1

Ich sichere einen Nginx-Server mit SSL und ich habe eine Frage. Ich habe zwei virtuelle Server eine für http in Port lauscht 80 und die https in 443 wie diese hören:Sicherung von Nginx mit SSL

# HTTP server 
server { 
     listen  80; 
     server_name localhost; 
     ... 
     # many configuration rules here for caching, etc 
} 
# HTTPS server 
    server { 
     listen  443 ssl; 
     server_name localhost; 
     ... 
} 

Die Frage ist, kann ich alle Konfigurationsregeln duplizieren müssen, die ich in der http-Version haben in meinen https-Version? Gibt es eine Möglichkeit zu vermeiden, all diese Regeln zu duplizieren?

UPDATE Ich versuche, mit einem Include nach @ibueker Antwort zu konfigurieren. Sieht einfach aus, funktioniert aber irgendwie nicht. Muss das Include in einem Ort sein? Beispiel angehängt:

# HTTP server 
    server { 
      listen  80; 
      server_name localhost; 
      ... 
      include ./wpo 
    } 

Wo WPO-Datei im selben Pfad ist, und es ist wie:

# Expire rules for static content 
# RCM: WPO 
# Images             
location ~* \.(?:jpg|jpeg|gif|png|ico|cur|gz|svg|svgz|mp4|ogg|ogv|webm|htc)$ { 
     root /home/ubuntu/env/production/www/yanpy/app; 
     expires 1w; 
     add_header Cache-Control "public"; 
} 

# CSS and Javascript 
location ~* \.(?:css|js)$ { 
     root /home/ubuntu/env/production/www/yanpy/app; 
     expires 1w; 
     add_header Cache-Control "public"; 
} 

# cache.appcache, your document html and data 
location ~* \.(?:manifest|appcache|html?|xml|json)$ { 
     root /home/ubuntu/env/production/www/yanpy/app; 
     expires -1; 
} 

Antwort

1

Sie können sie in einer anderen Datei setzen und sind sie für beide Server blockiert.

include /path/to/file; 
+0

Es funktioniert nicht für mich. Bitte sehen Sie mein Update. – Rober

+0

Hast du es mit dem vollständigen Pfad versucht? – lbueker