ホーム » スタッフ » 斉藤徹 » SetEnvIf による学内向け PROXY 経由のアクセス制限

2005年3月
« 2月   4月 »
 12345
6789101112
13141516171819
20212223242526
2728293031  

最近の投稿(電子情報)

アーカイブ

カテゴリー

SetEnvIf による学内向け PROXY 経由のアクセス制限

学科のページを、学外からの参照のみ拒否といったアクセス制限を 加える場合、学内は 10.X.X.X のプライベートアドレスなので、 本来なら制限を加えるのは、

≪ .htaccess 例 ≫
Order deny,allow
Deny  from ALL
Allow from 10.

といった制限で良いはずなのだけど、学内のページを学外に公開する際に、 内向け PROXY として対外サーバ 10.10.21.51〜53 が機能している。 であれば、

≪ .htaccess 例 ≫
Order allow,deny
Allow from 10.
Deny  from 10.10.21.51 10.10.21.52 10.10.21.53

としたい。しかし、ややこしいことに、対外サーバは学内向けの Proxy サーバ を兼用しているため、上記設定では、学内の Proxy 経由を拒否してしまう。 『Proxy 利用者に、10. なら、ローカルとみなし直接アクセス』 という設定をしてもらえば、いいのだが、ブラウザによってはこういった設定が困難。

SetEnvIf って機能があったのを初めて知った。

そこで、学外から拒否といった制限が極めて困難であった。 しかし、SetEnvIf という機能が Apache 1.3 以降には搭載されているので、 以下の設定であれば、なんとかなるはず….

≪ .htaccess で SetEnvIf を使った場合 ≫
SetEnvIf Remote_Addr  ^10\.10\.21\.5[123]$  PG
SetEnvIf HTTP_X_FORWARDED_FOR  ^10\. !PG
Order Allow,Deny
Allow from 10.
Deny  from env=PG

なんだけど、あれぇ〜?全部アクセス拒絶されてるじゃん。
# http_proxy を設定した w3m なら読めるのに….あれぇ?