FrontPage  Index  Search  Changes  Login

Ticket-18

IISで「保存」ボタンを押すとエラーになる

Priority
Normal
Reporter
M.I
Status
Closed
Assigned to
かずひこ
Version
0.8.2
Milestone
0.8.3
Created
2005-08-03

Description

IIS6.0/Windows Server2003で利用させていただいています。

Hiki0.8.0から0.8.2へバージョンアップしてみたところ、編集で「保存」すると、ブラウザでエラーが発生するようになってしまいました。

具体的には、以下のようになります。

IE:  「セキュリティの警告」ダイアログが出た後、「サーバが見つかりません」画面になる

FireFox:  「<サーバ名:80>への接続が途中で切断されてしまいました。データの一部だけが転送されている可能性があります」という警告ダイアログが出る

ただし、ページはちゃんと更新されています。また、ログインでも同様の現象が発生しました。

いろいろ調べてみたところ、どうやら@base_urlが適切に設定されていないらしい、ということがわかりました。(hikiconf.rbで明示的に指定すれば問題なくなります)

Config.base_urlの中に、

       elsif ENV['HTTPS']
         port = (ENV['SERVER_PORT'] == '443') ? '' : ':' + ENV['SERVER_PORT'].to_s
         @base_url = "https://#{ ENV['SERVER_NAME'] }#{ port }#{File::dirname(ENV['SCRIPT_NAME'])}/".sub(%r|/+$|, '/')
       else
         port = (ENV['SERVER_PORT'] == '80') ? '' : ':' + ENV['SERVER_PORT'].to_s
         @base_url = "http://#{ ENV['SERVER_NAME'] }#{ port }#{File::dirname(ENV['SCRIPT_NAME'])}/".sub(%r|/+$|, '/')
       end

とありますが、IISの場合、HTTPS変数は、「ON」または「OFF」のどちらかの値が必ず入っているようです。

http://www.microsoft.com/windows2000/ja/advanced/iis/default.asp?url=/windows2000/ja/advanced/iis/htm/asp/vbob5vsj.htm

したがって、常にhttpsとしてbase_urlを作成してしまっていたようです。

この部分は0.8.0でも同じなので、実は0.8.0でもそうだったと思われますが、base_urlに関係する機能を使っていなかったので気づかなかったようです。

  • 2005-08-03 (水) 14:40:31 かずひこ : OFF の際は http 扱いするように変更してコミットしました。

Name:
Comment:
Change Properties
Priority:
Status:
Version:
Milestone:
Assigned to:
Last modified:2006/08/07 15:36:24
Keyword(s):
References: