2008年08月26日

ApacheのLan内の反応が激悪であるのを改善

現在うるさいけれど主力のP4機はHDDレベルでOSを切り替えているのだが
もう一台の静かなPCに対しては
P4機をWindows2000にしておいてApacheにアクセスさせるつもりだった。
しかしip直うちなのにやけに遅い。
考えてみると同じPC内でもlocalhostでアクセスすると速いのに
128.0.0.1ではなく192.168.0.*でアクセスするとやたら反応が遅いのだ。

いろいろ調べた結果これはhostsファイルに由来することがわかった。
hostsファイルというのはWindowsのシステムファイルで
インターネットアプリが初期化のときに読み込むらしい。


C:\WINNT\system32\drivers\etc

にある。

実際にはOSによって


  • NT系
    %SystemRoot%\system32\drivers\etc\hosts

  • 95系
    %WINDOWS%\hosts

  • unix系
    /etc/hosts




ということのようだ。

書式は

IPアドレス ホスト名...

で区切り文字はタブでもスペースでもいいようだ。

実際に見てみると


127.0.0.1 localhost

だけが定義されていた。
とりあえずクライアントとなるLanのipを記述しておいた。
PC内では名称アクセスができるようになる。

IPがあまり変わらないサイトも記述しておいてもいいかもしれない。
管理者権限でないと書き換えられないが
もしこのファイルを自由に書き換えられるとサイト偽装などがなされることになる。
DNSより優先されるので結構危ない。
うまく利用するとソフトが固有サイトを参照しようとする場合Lan内で完結することができる。
データ送信型ウィルスなどもip指定でないならここでフィルタリングできるわけだ。

しかしこの発想自体かなり危険性があるのは確かだ。
不特定多数の触れるPCでは定期的にチェックする必要があると認識した。

で、これでPC内でのLANのIPでのアクセスはさくっと軽くなったし名前指定もできるようになった。
しかしこれはサーバー側内部の問題なのでクライアントとなる別PCからではどうだろうと重い
アクセスしたところ、クライアント側はく風しなくてもすんなりアクセスできるようになった。
ようするにApacheがこのファイルを読んでいてクライアントのチェックをする際
Lanだと解決できずにはまるということのようだ。
DNSサーバーをLan内に立てるというのも解決策だが取り敢えずこれで解決した。

案外とこの問題で引っかかっている人はいるのかもしれないと思った。


同一マシンのPC-BSDとWindows2000の間のやり取りはDVD-RAMかCFを使っている。
wineなアプリでもファイル名はみなDOSになってしまう。
これについてはdelphiのVCLとかで作ったシェルアクセスのエクスプローラー風味を
wineで起動してもだめだった。
そこでtarかzipで固めるのようにした。

PC-BSD側のアーカイバがなんか使えないので普通にコマンドのunzipで解凍する。慣れてきた。
もう一台のエディター用にしたいとても静かなファンレスのP3機は
現時点ではまだCFやCD-ROMのマウントの仕方も分からないTWMの状態なので
上記のようにP4機にアクセスしているがたいていはfetchコマンドなのでインターネットでもいいのかもし

れない。

TWMだとどうもメニューをマウスでスクロールできないのでキーボード必須のようだが
終了コマンド付のWindowsアプリケーションが結構ちゃんと動くので
そういう試行錯誤がほとんどゲームのようでなかなかに楽しい。

このままだとWindows版オープンソースソフトばかり使いそうだ。
しかし、Win(e)依存もなんなので借り物ビルドでいいから


make install clean

以外の「ビルド」と「実行」もぼちぼち学ばないといけないと感じた。



ラベル:Apache hosts
posted by Xo_ox at 11:22| Comment(0) | サーバーサイド手習い | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。