プロキシを使用する必要性について警告を発行します

ローカルネットワークでは、プロキシサーバーを介してユーザーをインターネットに解放する必要がある場合があります。 たとえば、トラフィックを考慮したり、特定のリソースへのアクセスを制限したりします。 ただし、透過プロキシの使用は不可能または望ましくありません。



ユーザーに通知します



もちろん、パラメーターを使用してニュースレターを作成することもできます。 しかし、実践が示すように、これは不要な質問を完全に排除するわけではありません。



生活を楽にする



実装はもう少し難しくなりますが、セットアップに関する質問の重要な部分を排除することは、ページを開こうとすると、必要なすべてのパラメーターを示すメッセージがユーザーに表示されることです。 これを行うには、ゲートウェイにWebサーバーをインストールし、このメッセージを含むページを表示するように構成する必要があります。



サーバーを選択してください



特に高度なものは尋ねるかもしれません:Apacheがあるときに何かを選ぶのはなぜですか? 事前に回答します。この場合、Apacheは非常に冗長であり、リソースを浪費するだけです。 したがって、より簡単なオプションを使用します。 サーバーには、ポート80をリッスンする機能(inetdが不要なため)とカスタムエラーメッセージのサポートが必要です(404に応答する必要があります)。 Thttpdは良いオプションです。



インストールとセットアップ



さらに、Debian Etchがゲートウェイにインストールされていると想定されています。 通常の方法でthttpdを配置します。



# aptitude install thttpd







ファイル/var/www/index.htmlを作成し、ユーザーがブラウザーを簡単に構成するために必要なすべてのもの(プロキシサーバーのアドレス、ポート、楽しい時間など)を記述します。



ユーザーが外に出ようとしたときに、エラーメッセージではなく、美しい指示を表示するために、iptablesにルールを追加します。



# iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT







これで、ポート80から出ようとすると、thttpdに移動します。 habrahabr.ruを開き、代わりに見たいものを確認します。



404をキャッチ



ご覧のとおり、ドメインのルートではないページにアクセスしようとすると、404が返されます。thttpdでは、独自のエラーハンドラをインストールするのは非常に簡単です。 設定を変更する必要さえありません。



# mkdir /var/www/errors

# cd /var/www/errors

# ln -s ../index.html err404.html








残念ながら、thttpdはその価値を示し、ページの下部にバナーを描画し、美しい有効なXHTML Strictを台無しにします。 幸いなことに、それは扱われています。



実践的な手術



ゲートウェイと同じバージョンのdebianで車に乗ります。 packages.debian.orgに行き、そこからパッケージのソースコードを3つのファイルの形式でダウンロードします。



$ wget -c http://ftp.de.debian.org/debian/pool/main/t/thttpd/thttpd_2.23beta1-5.dsc http://ftp.de.debian.org/debian/pool/main/t/thttpd/thttpd_2.23beta1.orig.tar.gz http://ftp.de.debian.org/debian/pool/main/t/thttpd/thttpd_2.23beta1-5.diff.gz







開発者向けのユーティリティを配置します。



$ sudo aptitude install dpkg-dev build-essential fakeroot debhelper







パッケージを展開します。



$ dpkg-source -x thttpd_2.23beta1-5.dsc

$ cd thttpd-2.23beta1








config.hファイルを編集します。 次の行があります。



#define ERR_APPEND_SERVER_INFO







そしてそれについてコメントしてください:



/*#define ERR_APPEND_SERVER_INFO*/







C ++ではなくCなので、まさにこのタイプのコメントを使用します。



さらにいくつかの設定を行うこともできます。 たとえば、CGIサポートを無効にし、デフォルトのエンコーディングをUTF-8に設定します。 設定のコメントを読んでください。



次に、同じ方法で、debian / changelogファイルを開きます。 パッケージのバージョン番号を増やして、次の更新中にリポジトリのバージョンで上書きされないようにする必要があります。 これは、パッケージが実際に更新されなかった場合でも発生する可能性があります。



ファイルの先頭には、次の形式のレコードがあります。



thttpd (2.23beta1-5) unstable; urgency=high



* Applied patch from Steve Kemp <skx@debian.org> on thttpd.logrotate to fix

the insecure use of temporary files when invoked by logrotate

[CVE-2006-4248] (Closes: #396277).



-- Daniel Baumann <daniel@debian.org> Tue, 31 Oct 2006 20:13:00 +0200








彼女の前に自分のものを追加します。 書式設定に注意を払い、ファイルに既にある行の前に1つの空行を残します。



thttpd (2.23beta1-5pupkin1) unstable; urgency=low



* Minor configuration changes required for Company X



-- Vasily Pupkin <pupkin@example.com> Mon, 17 Nov 2008 13:18:00 +0200








パッケージを収集します。



$ dpkg-buildpackage -rfakeroot







ファイルthttpd_2.23beta1-5pupkin1_i386.debは、1レベル上のディレクトリに形成されました。 ゲートウェイに入力し、インストールして結果を楽しんでください。



upd。:freefdは 自動設定に関する記事を書き設定ページの例を提供しまし



All Articles