2014-09-11 12 views
6

Ho bisogno di solo servire file .vmdk e .vmx su un server virtuale, indipendentemente dal livello di directory. Questa è la mia configurazione attuale (in questo momento serve tutto, ma se togliere il commento alla parte inferiore serve niente):NGINX: serve SOLO tipi di file specifici in tutte le directory

server { 
    listen 80; 
    server_name vmdk; 

    access_log /var/log/nginx/localhost.access.log; 
    root /srv/vmdk/public; 

    location ~ (./?|\vmdk|\vmx)$ { 
      autoindex on; 
    } 


    #location/{ 
    #  deny all; 
    #} 

} 

Come faccio a raggiungere questo obiettivo?

Se è più semplice da ottenere con Apache, viene anche apprezzata una configurazione di Apache di esempio.

+0

È regexp è strano. –

+0

@AlexeyTen Probabilmente è sbagliato. –

risposta

5

Questo dovrebbe funzionare

server { 
    listen 80; 
    server_name vmdk; 

    access_log /var/log/nginx/localhost.access.log; 
    root /srv/vmdk/public; 

    location/{ 
     deny all;      # deny by default 

     location ~ "\.(vmdk|vmx)$" { 
      allow all;    # allow vm disk images, etc. 
     } 

     location ~ "/$" { 
      allow all; 
      autoindex on;    # allow listing directory contents 
     } 
    } 
} 
+0

Ottengo 403 Proibito con questa configurazione. –

+0

Se aggiungo un "test.vmdk" in "/" posso aprire "/test.vmdk", ma non riesco a vedere l'elenco delle directory da nessuna parte, di cui ho bisogno. –

+0

'error.log' dice:' * 1 accesso vietato dalla regola, ... ' –

Problemi correlati