2013-02-19 15 views
7

Sorgu dizesi parametresine bağlı olarak belirli dosyalara erişimi kısıtlamanız gerekiyor. Yük dengeleme için diğer nginx web sunucularının önünde oturan bir NGINX proxy sunucum var. Yapılandırma değişikliklerini birleştirmek için bu sorgu dizesi parametresini proxy sunucu düzeyinde zorlamaya karar verdim. Bu, kurulumuma bir miktar karmaşıklık ekledi çünkü istek, eğer akış yukarı olarak gönderilmesi gerektiğinden, içeride sıkışamaz.NGINX proxy ayarlarını çeşitli konumlarda yeniden kullanma

server { 
     listen 443; 
     # SSL Settings 

     server_name staging.xxxx.com; 

     location/{ 
       proxy_pass http://webdav-cluster; 
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
       proxy_set_header X-Real-IP  $remote_addr; 
       proxy_set_header Host   $http_host; 
     } 

     # Unless the correct application token is passed in as a query parameter 
     # then deny access. 
     location ~ \/protected\/.*txt$ { 
       if ($arg_secret != abc) { 
         return 403; 
       } 

       proxy_pass http://webdav-cluster; 
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
       proxy_set_header X-Real-IP  $remote_addr; 
       proxy_set_header Host   $http_host; 
     } 
} 

bir konuma veya değişken olanlara 4 vekil hatları saklamak için bir yolu var mı ve sonra içten bir çizgiyle bu yönlendirme? Aynı ayarları farklı sanal konaklarda da kullanabilirim. http://nginx.org/r/include

+0

OP, sen ne yaptığını düştün: – Mahn

cevap

2

Bu durumda include direktifini kullanmalıyım? Bunu da merak ediyorum.
+4

Teknik olarak doğru, ama küçük şeyler için birkaç dosyaya bölmeden bunu yapmak güzel olurdu. – Mahn

+0

Ardından, yapılandırmalar oluşturmak için sık kullandığınız şablon motorunu kullanın. Bu da bash olabilir. – VBart

İlgili konular