Python で URL を転送する備忘録

Python で URL を転送する方法についての備忘録です.動機は

URL の転送のためだけに Apache を入れる(設定する)のは大袈裟だよなぁ….何とかならないかなぁ…

ということで,最近の標準的な UNIX(Linux) のパッケージだと最小構成でも python くらいは入っているので,じゃあ python で実現してみようと思ったわけです.

Python: HTTP サーバーをつくる Python: JSON を返す HTTP サーバーをつくる Python: socket モジュールを使って JSON を返す HTTPS サーバーをつくる 静的なファイルに限定するのであれば、コマンドラインから HTTP サーバーを起動させることができる。 python...

を参考に,結果は以下となりました.

http の場合

まずは http 版のスクリプトから.python3 系列を意識した書き方ですが,python2系列でも大丈夫なはずです.

上のスクリプトの「http://****.*****.**.**」の部分に転送先の URL を記します.また,「HOST=””」を「HOST=”192.168.1.1″」などとすれば,特定のネットワークアダプタ等でHOSTする,つまり,192.168.1.1 で転送待ち受けを行うことになります.

ただし,1024以下のポートを使いますので,python に適当な権限を与えるか,root で実行する必要があります.私の場合は面倒なので(内部サーバー用ですし)/etc/rc.local に次のような行を追加しています(スクリプト名を httpforwarding.py としています).

https の場合

https (SSL) 版だと次の通りです.

ここで,private.pem は秘密鍵,cert.pem は署名付き証明書ですね.http の場合と同様に 1024以下のポート番号ですので,root で実行するか,python に適当な権限を与える必要があります.

見ての通り非常に簡単ですが,apache 等をインストールして適当に設定するよりは簡単なんじゃないかなぁと思うのですが如何でしょうか?

スポンサーリンク
large rectangle advertisement
スポンサーリンク
large rectangle advertisement
Top