2009-04-03 6 views
16

Ho un'applicazione Apache UNIX e sto consentendo agli utenti di accedere all'URL dell'applicazione dall'ambiente di citrix (dalla macchina di citrix).Consenti richiesta proveniente solo da IP specifico

Tuttavia, attualmente è possibile accedere all'URL da tutte le macchine collegate. Vorrei mettere la restrizione che dovrebbe essere accessibile solo dalla macchina Citrix. Quindi, se qualcuno ha bisogno di accedervi, ha bisogno di accedere alla macchina Citrix.

ho cercato con qui sotto:

<Directory /APP> 

    Order Deny,Allow 

    Deny from all 

    Allow from 160.120.25.65 

    Allow from 127 

</Directory> 

non ha funzionato. Qualche suggerimento?

Pochi hanno risposto con la soluzione iptables, tuttavia questa è stata caricata su Solaris (non ha un firewall integrato su OS come linux).

+4

mi è capitato di essere utile, anche se sono d'accordo che è off-topic. – icedwater

risposta

36

Questo dovrebbe fare quello che ti serve:

<Directory /APP> 

    Order Allow,Deny 

    Allow from 160.120.25.65 
    Allow from 127.0.0.0/8 

</Directory> 

Vedere la documentazione mod_authz_host per i dettagli.

-2

Probabilmente userei una regola iptables per questo. Non sono sicuro di quale sia l'esempio che hai pubblicato, ma dovresti essere in grado di configurare praticamente qualsiasi firewall per funzionare come desideri.

+0

Fa parte di un file di configurazione di Apache. –

+0

iptables non funziona male quando si utilizza SNI. – Izzy

2

Quale versione di Apache esegui? I meccanismi di autorizzazione IP sono, AFAIK, forniti da mod_authz_host, che è stato introdotto in 2.2 (beh, 2.1 tecnicamente). Se hai 2.2, assicurati che non sia stato compilato con mod_authz_host disabilitato.

In generale, tuttavia, è possibile trovare una soluzione più semplice e più robusta è l'iptables o altro firewall suggerito nelle altre risposte.

-1

Suggerirei Iptables per questo scopo. metti una regola in iptables che ovunque la porta di destinazione sia il numero di porta della tua macchina apache e l'ip sorgente sia l'indirizzo ip della macchina critix, la macchina Linux dovrebbe rilasciare quel pacchetto. In questo modo risolverebbe il tuo problema se non ci fossero altre applicazioni ospitate sull'apache della tua macchina che dovrebbero essere aperte per tutti gli IP. Un esempio della regola prospettiva potrebbe essere: -

iptables -I INPUT 1 -s 160.120.25.65 -d <port_of_apache_on_your_machine> -j DROP 

Questo dovrebbe risolvere il problema, una volta che si sostituisce per il suo corretto valore

+0

Applicazione ospitata su UNIX. Posso aggiungere questo nel file httpd.conf? – Mutant

+0

È necessario aggiungere questo file in .bashrc dell'utente che avvia la macchina o aggiungerli come regole predefinite di iptables. Questo non è aggiunto nel file httpd.conf. –