私は、Apache UNIXをホストしているアプリケーションを使用しており、ユーザーがcitrix環境から(citrixマシンから)アプリケーションのURLにアクセスできるようにしています。
ただし、現在、接続されているすべてのマシンからURLにアクセスできます。 citrixマシンからのみアクセスできるという制限を設けたいと思います。したがって、誰かがそれにアクセスする必要がある場合は、citrixマシンにアクセスする必要があります。
私は以下で試しました:
<Directory /APP>
Order Deny,Allow
Deny from all
Allow from 160.120.25.65
Allow from 127
</Directory>
うまくいきませんでした。なにか提案を?
Iptablesソリューションで応答する人はほとんどいませんが、これはSolarisにロードされています(LinuxとしてのOSにファイアウォールが組み込まれていません)。
これはあなたが必要とすることをするはずです:
<Directory /APP>
Order Allow,Deny
Allow from 160.120.25.65
Allow from 127.0.0.0/8
</Directory>
mod_authz_Host
詳細はドキュメント。
実行しているApacheのバージョンは何ですか? IP許可メカニズムは、2.2で導入されたmod_authz_Hostによって提供されるAFAIKです(技術的には2.1)。 2.2がある場合は、 mod_authz_Host を無効にしてコンパイルされていないことを確認してください。
ただし、一般的に言えば、iptablesや他の回答で提案されている他のファイアウォールを使用する方が、より簡単で堅牢なソリューションを見つけることができます。
この目的のためにIptablesを提案します。 iptablesにルールを追加します。宛先ポートがApacheマシンのポート番号であり、ソースIPがcritixマシンのIPアドレスである場合、Linuxマシンはそのパケットをドロップします。この方法は、すべてのIPに対して開かれているはずの、マシンのApacheでホストされている他のアプリケーションがない場合に問題を解決します。パースペクティブルールの例は次のとおりです。
iptables -I INPUT 1 -s 160.120.25.65 -d <port_of_Apache_on_your_machine> -j DROP
これで問題が解決するはずです。適切な値に置き換えると、