金子さん
getenv('REMOTE_HOST')が 'localhost' か '127.0.0.1' かその他かは、
1. AN HTTPDの「リモートホストを取得」
2. hostsファイル
3. プロキシの cfg
などの設定内容に影響されますね。
設定が各自各様なので、自分の設定に合わせて決めることになりますね。
いとさん
金子です
ありがとうがざいました。
>ブラウザ -> プロキシ(DeleGate/stoneなど) -> AN HTTPD という
>構成かと思います。SSL通信なのはブラウザ <-> プロキシ間であり、
>プロキシ <-> AN HTTPD間は HTTP通信です。
言われてみれば、「ア そうか。」ですが
全然思いつきませんでした。(やった事が身についていない証拠ですね)
if(getenv('REMOTE_HOST') == '127.0.0.1') として認識しました。
プロキシ(stone)とサーバ(AN HTTPD )が同一ホスト上なのに
if(getenv('REMOTE_HOST') == 'localhost') ではなぜかだめでした。
localhostと127.0.0.1は同じ場所を示すはずなのに・・・
stone.cfgで127.0.0.1:80 443/sslとして
ループバックアドレスを使っている為でしょうか。
同じ(数値・文字)でないといけないとか・・・
>田中->中田さんですね。
間違えていました。すみませんでした。
金子さん
田中->中田さんですね。
ブラウザ -> プロキシ(DeleGate/stoneなど) -> AN HTTPD という
構成かと思います。SSL通信なのはブラウザ <-> プロキシ間であり、
プロキシ <-> AN HTTPD間は HTTP通信です。ということで
AN HTTPDではプロトコルが SSLであることは分かりようがないと思います。
プロキシと AN HTTPDが同一ホストで動いていれば
if(getenv('REMOTE_HOST') == 'localhost')
とし、プロキシ(localhost)からのアクセスかどうかを見れば
SSLかどうかが判定できるだろうと思います。
もし同一ホストでなければ "localhost" は "プロキシのIPアドレス" に。
この(同一の)場合、サーバ機自身から HTTPでアクセスするときは
http://127.0.0.1/ や http://localhost/ ではなく
http://プライベートIPアドレス/ か http://ホスト名/
にしないといけません。https://127.0.0.1/ は大丈夫です。
田中様
金子と申します。
AN HTTPD 1.42nを使用させて頂いています。
環境
OS WindowsXP
現在、いとさんの過去ログ等を参考にOpenSSLを導入したのですがPHPにて
if (getenv('HTTPS') == 'on')
としてSSL通信しているかいないか判定して表示しようとしていますがHTTPDでは反応してくれません。
設定がいけないのでしょうか?
それともHTTPDの仕様なのでしょうか?
もし仕様ならば何か良い方法をご存じないでしょうか。
宜しくお願い致します。