2013-01-24 17 views
5

Provenendo da apache2 una funzione che non riesco a raggiungere; richiede l'autenticazione solo per l'accesso esterno ma l'accesso gratuito agli utenti sulla mia rete locale. Qualche idea su come gestire facilmente questo scenario?Autenticazione Nginx eccetto quelli su rete locale

Qualsiasi aiuto sarebbe apprezzato.

risposta

5

ho cancellato la mia risposta precedente e vorrei suggerire una soluzione che ho fornito di seguito

ho fatto una piccola ricerca e ho trovato questa soluzione al vostro problema - nel codice, in cui si utilizza auth_basic direttiva, apportare tali modifiche:

satisfy any; 
allow  10.0.0.1/8 // give access for all internal request 
deny  all; 
auth_basic "...."  // your auth_basic code goes here 
auth_basic_user_file ... // your auth_basic_user_file goes here 

Come funziona? La direttiva satisfy implica che any o all dalle prossime regole di accesso in arrivo devono essere passate per consentire l'accesso alla risorsa. Potete trovare maggiori dettagli qui: satisfy

Questo dovrebbe andare bene il problema perfettamente;)

+0

provato ad aggiungere una variabile, ma sembra che nginx non piace: nginx -t [emerg]: "auth_basic "la direttiva non è consentita qui – Stefan

+0

Usi l'autenticazione per l'intero server (nel blocco' server') o solo in alcuni blocchi 'location'? – emka86

+0

nel blocco "posizione /". – Stefan

Problemi correlati