人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

httpd.conf内で独自に変数を設定することはできないのでしょうか?

下記のように、ディレクトリ毎のアクセス制限をhttpd.conf内でいくつも記述しています。
アクセスを許可するIPアドレスは共通なので、どこか一カ所で宣言して、それを使い回せればと考えています。何かよい方法はないものでしょうか?

OS:MiracleLinux2.1 Apache:1.3.29

-------------------------------------------------------
<Directory ~ ”/*”>
order deny,allow
deny from all
allow from 111.111.111.111 222.222.222.222
</Directory>
-------------------------------------------------------

●質問者: loy
●カテゴリ:ウェブ制作
✍キーワード:ALL Apache httpd IPアドレス OS
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● onitsukaouendan
●20ポイント

単純に 一番上のディレクトリーに

.htaccessで

おけば 下部のすべてにディレクリーで

きかないでしょうか?

ゲートつくって認証式にするのと

同じだとおもいます。

自宅サーバーもしくは レンタルサーバー(許可されていれば)できるとおもいます。

◎質問者からの返答

.htaccessの使用は想定していません。許可するIPアドレスが頻繁でもないですが変更されるため、変更時の修正漏れを防ぐために一カ所で指定したいのです。


2 ● sakyo
●20ポイント

http://www.apache.jp/docs/mod/mod_setenvif.html#setenvif

mod_setenvif - Apache HTTP Server

お探しの機能はmod_setenvifではないでしょうか。

例えば、

SetEnvIf Remote_Addr "111?.111?.111?.111|222?.222?.222?.22[0-9]" OK

<Directory ~ "/*">

order deny,allow

deny from all

allow from OK

</Directory>

何か読み違えてたらすみません。

◎質問者からの返答

おぉなるほど。確かに使えそうですね。

さらに別なやりかたがあれば見てみたいです。


3 ● sakyo
●20ポイント

http://www.apache.jp/docs/mod/mod_access.html

ゴメンなさい、記述ミスです。

allow from OK

ではなくて、

allow from env=OK

です。

あと、文字参照するの忘れてました。

SetEnvIf Remote_Addr以下の?は、半角バックスラッシュです。

◎質問者からの返答

フォローありあがとうございます!


4 ● virtual
●20ポイント

単純にhttpd.confをsed等で該当IPアドレスを一括変換するスクリプトを使うというのはダメでしょうか?

私はバーチャルドメインをいくつも運用していますが、ドメインリストを与えてやるとそれに相当するhttpd.confを吐き出すスクリプトを作って運用ドメインの変更に対応しています。

◎質問者からの返答

うーん、、できればhttpd.conf内で完結させたいですね。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ