_★
IPv4/IPv6
セキュリティ強化のためapacheをdelegateでDMZ側に追いやる作業をずっとしていて、
ようやく上手く動いてくれた。
が、接続元がIPv4かIPv6かを判定するスクリプトに不具合が。
環境変数REMOTE_ADDRを読み取ることで接続元がIPv4かIPv6かを判定していた訳だが、
delegateでDMZ側のapacheに接続するとDMZ側のプライベートアドレスが表示されてしまう。
delegate-ML読んだら、
これに対処する方法 が書かれていた。
これを元にAUTHにfromgenを指定して環境変数HTTP_FROMを読めば接続先が分かるようになったのだが、
delegateがIPv6に対応していないのでIPv6の時には上手くない。
ただ、IPv6の時はDMZ側に追いやっていないのでREMOTE_ADDRにIPv6アドレスが入る。
仕方無いのでスクリプトにREMOTE_ADDRとHTTP_FROMを渡し、これらの値でアドレスファミリを判断させるようにperlスクリプトをゴニョゴニョと書き直した。