再び鈴鹿高専の白井です.
Proxyで守られた学内ネットワーク上に公開していたmoodleのサーバが調子よく動き始めたので,これを学外に公開できるように学外公開用Webサーバにリンク(という表現で良いのでしょうか?)して貰いました.
http://narita.mech.suzuka-ct.ac.jp/mech/moodle
で正常に動いていたmoodleのサーバ(narita)を
http://www.suzuka-ct.ac.jp/mech/moodle
でアクセスできるように,本校のネットワーク管理者の方にアドレス変換の設定(という表現で良いのでしょうか?)をして貰いました.
narita.mech.suzuka-ct.ac.jpは学内ネットワークでしか有効ではなく,学外(つまりインターネット)からはアクセスできない名前です.
moodleは,
C:\xampplite\htdocs\mech\moodle
にあります.apacheの<DIRECTORY>等の設定,config.phpの設定も基本的には学内公開時の状態のままで,
$CFG->wwwroot = 'http://www.suzuka-ct.ac.jp/mech/moodle';
だけを変更しました.
http://www.suzuka-ct.ac.jp/mech/moodle
にWebブラウザでアクセスするとログイン画面が表示されます.
ここでアカウントとパスワードを入力しても,なにもエラーも表示されず,ログイン画面が再表示されます.なお,MOODLEIDとMOODLESESSIONの二つのCoockieはWebブラウザに保存されているようです.
ただ,不可解な現象はこれだけではなく,Firefoxならば上記アドレスにアクセスするとmoodle/login/index.phpにジャンプするのに対して,IEでは”ページを表示できません。/ サーバーが見つからないか、DNS エラーです。”と表示されます.http://www.suzuka-ct.ac.jp/mech/moodle/login/index.phpまで入力しないとログイン画面が表示されません.もちろん,ログインできず,再表示される点は同じです.ゲストでもログインできません.
$CFG->wwwroot = 'http://narita.mech.suzuka-ct.ac.jp/mech/moodle';
に戻し,このアドレスにアクセスすれば通常通りにログインできる.
ローカルなサーバであるnaritaのapacheを停止するとログイン画面にアクセスできなくなりますので,webサーバはこちらのサーバを用いているのは正しいようです.
アドレスが変換されていることに問題があるのでしょうか?
似たようなネットワーク構成,あるいは似たようなトラブルに遭遇した方,いらっしゃらないでしょうか.
(グローバルIPで運用している方が多いようですね)
なお,OSはWindowsXP Professional SP2, moodle1.7.1です.ApacheもPHPも(正確なバージョンは不明ですが)比較的新しい物です.
鈴鹿高専の白井です.
状況が少しだけ変化しました.
moodleの「サイト管理」-「セキュリティ」-「HTTPセキュリティ」-「追加的なフォームセキュリティを使用する」をOFFにしたら,正常にログインできました.
ただし,FirefoxのみOKで.IEはダメです.相変わらず”ページを表示できません。/サーバーが見つからないか、DNS エラーです。”のままです.
設定の説明,”Moodleでは、フォームデータを受入れる場合の追加的なレベルのセキュリティーを使用することができます。この設定を有効にした場合、ブラウザの HTTP_REFERER変数とフォーム設置のアドレスが照合されます。 ユーザがファイアーウォールソフト (例 Zonealarm) を使用してトラフィックからHTTP_REFERERを取除く設定をしている場合、まれに問題が発生する場合があります。 これは、フォーム使用時に画面が「固まる」現象です。例えば、ユーザがログインページで問題を抱えている場合はこの設定をNoにしてください。しかしこの 設定ではブルートフォース・パスワードアタックに対して無防備な状態になります。分からない場合は、この設定を「Yes」のままにしてください。”から考えると,本校のProxyサーバがHTTP_REFERERを取り除くか,あるいは$CFG->wwwrootと異なるアドレスのままで取り扱われているか,でしょうか.(簡単にHTTP_REFERERをチェックする方法はありませんか?)
...ん? そういえばサーバ管理者から毎月送信されてくるアクセスログ(moodle以外の学外公開用のWebサーバをいくつか学内で管理しています)では,No referrerというアクセスが大多数ですね.www.suzuka-ct.ac.jpから他のページに動く際にはHTTP_REFERERが取り除かれる,あるいは記録されないのかな?
しかし,IEがProxyを介してアクセスできない問題は相変わらず残っています.これはもしかしてPHPの設定に問題があるのだろうか? Firefoxならできず,IEならば”てきちゃう”ことは多々あるが,その逆と云うのは珍しい.
すみません,IEからアクセスできなかった件は,いつの間にか直ってしまいました.
何が原因か,よく分かりません.
キャッシュが消えたのか,ネットワーク管理者側の設定変更か,それともPHP.iniをチョロチョロと触っていたせいか?
何か理由が分かりましたら,ご報告します.
Proxyの件に関しても同様に.
何が原因か,よく分かりません.
キャッシュが消えたのか,ネットワーク管理者側の設定変更か,それともPHP.iniをチョロチョロと触っていたせいか?
何か理由が分かりましたら,ご報告します.
Proxyの件に関しても同様に.
IEは1.7の場合何かと問題がありますから1.6で使いたいですね。
それと、Moodleの環境を変えた後、IEでアクセスする際、キャシュとヒストリーを完全に消してからでないとうまく表示できないことがありますので、そこを注意して下さい。
どうも,忙しくて,出遅れました。m(__)m
> IEは1.7の場合何かと問題がありますから1.6で使いたいですね。
4月からのために1.5から1.7にアップグレードしようとしているのですが,私はIEユーザでないのですが,そんなにトラブルがありますか? だったら1.6で止めておくか,1.5と1.6はあまり違わないのでいっそのこと更新しないほうが安心?とかいろいろ考え込んでいます。
すでに1.7にされたところの事例がありましたらお教えいただければ幸いです。
> IEは1.7の場合何かと問題がありますから1.6で使いたいですね。
4月からのために1.5から1.7にアップグレードしようとしているのですが,私はIEユーザでないのですが,そんなにトラブルがありますか? だったら1.6で止めておくか,1.5と1.6はあまり違わないのでいっそのこと更新しないほうが安心?とかいろいろ考え込んでいます。
すでに1.7にされたところの事例がありましたらお教えいただければ幸いです。
奥村先生、
済みません、私がMoodleのバージョンとIEのバージョンを混同しました。「IEのバージョン6で使う分には良いかもしれないけれども、バージョン7は色々問題が出ているようだから、6で使いたいですね」と書きたかったものです。 m(_ _)m
私はMoodleの1.7で使ってますが、多少、1.6からコンバート(バックアップとリストア)する際にトラブルが出ましたが、今はOKです.
そうでしたか。どうもありがとうございます。
じつはうちも別途パワーユーザさんたちにMoodle 1.7を使っていただいているのですが(自分ではほとんど使っていませんが),ロール関連でいろいろはまられているようなので,今回のアップデートは1.6.4+にしようかと思っているところです。
じつはうちも別途パワーユーザさんたちにMoodle 1.7を使っていただいているのですが(自分ではほとんど使っていませんが),ロール関連でいろいろはまられているようなので,今回のアップデートは1.6.4+にしようかと思っているところです。
システム管理者に話を聞いたのですが,IEが急にOKになった理由はよく分かりませんでした.Harashimaさんの仰るように,IEのキャッシュを消去したのが功を奏したというのが,いまのところ最も有力です.
さらに加えて,FirefoxとIEを同時に立ち上げた状態で,一方からログイン,そのままログアウトしないで他方からログイン,といった,むちゃくちゃなこともしてしまったとも思いますので,あまりIEやmoodleを責めるわけにはいきません.

再びIEからはうまくログインし難い状況が続いています.
問題の切り分けが少し進みました.
http://www.suzuka-ct.ac.jp/mech/moodle/login だとログイン画面が表示されないが,最後にスラッシュをきちんとつけて,
http://www.suzuka-ct.ac.jp/mech/moodle/login/ とすればログイン画面が表示されます.
ちょっとサーバ設定の問題のような気がしますね.ApacheのServerNameやalias等の設定を見直しているところです./を最後に付けなかったときの問題というのはよく目にします.しかし,Firefoxだと問題にならないのは不思議です.
さて,これは別件になるかも知れません.
サイト管理メニューでデバッグをONにしたとき,エラーが画面に一瞬,表示されることに気付きました.phperror.logを見ると,
[22-3-2007 20:23:57] PHP Notice: Undefined property: stdClass::$auth_pop3_stdchangepassword in C:\xampplite\htdocs\mech\moodle\login\index.php on line 149
こういうエラーが頻繁に発生しているようです.ユーザーの認証はpop3を使用していますので,auth_pop3_stdchangepasswordなのでしょう.しかしこれがどういうエラーで,何が原因なのか,あるいは無視して良いエラーなのか,まだ分かりません.
問題の切り分けが少し進みました.
http://www.suzuka-ct.ac.jp/mech/moodle/login だとログイン画面が表示されないが,最後にスラッシュをきちんとつけて,
http://www.suzuka-ct.ac.jp/mech/moodle/login/ とすればログイン画面が表示されます.
ちょっとサーバ設定の問題のような気がしますね.ApacheのServerNameやalias等の設定を見直しているところです./を最後に付けなかったときの問題というのはよく目にします.しかし,Firefoxだと問題にならないのは不思議です.
さて,これは別件になるかも知れません.
サイト管理メニューでデバッグをONにしたとき,エラーが画面に一瞬,表示されることに気付きました.phperror.logを見ると,
[22-3-2007 20:23:57] PHP Notice: Undefined property: stdClass::$auth_pop3_stdchangepassword in C:\xampplite\htdocs\mech\moodle\login\index.php on line 149
こういうエラーが頻繁に発生しているようです.ユーザーの認証はpop3を使用していますので,auth_pop3_stdchangepasswordなのでしょう.しかしこれがどういうエラーで,何が原因なのか,あるいは無視して良いエラーなのか,まだ分かりません.
すいません,まだ解決してなかったんですね。
IEのredirectはけっこううるさいのでFirefoxでうまくいってもIEで駄目なことは私も経験しています。
Moodleそのものは大丈夫だと思うのですが,DeleGateが悪さをしているのでしょうか。
wget -S http://www.suzuka-ct.ac.jp/mech/moodle/login
とすると
HTTP request sent, awaiting response...
1 HTTP/1.1 301 Moved Permanently
2 DeleGate-Ver: 9.2.3 (delay=0)
3 Date: Thu, 22 Mar 2007 13:31:57 GMT
4 Server: Apache/2.2.3 (Win32) mod_autoindex_color PHP/5.2.0
5 Content-Type: text/html; charset=iso-8859-1
6 Via: 1.1 - (DeleGate/9.2.3)
7 Connection: keep-alive, timeout=50, maxreq=60
8 Content-Length: 374
Location: unspecified
ERROR: Redirection (301) without location.
となりますね。
IEのredirectはけっこううるさいのでFirefoxでうまくいってもIEで駄目なことは私も経験しています。
Moodleそのものは大丈夫だと思うのですが,DeleGateが悪さをしているのでしょうか。
wget -S http://www.suzuka-ct.ac.jp/mech/moodle/login
とすると
HTTP request sent, awaiting response...
1 HTTP/1.1 301 Moved Permanently
2 DeleGate-Ver: 9.2.3 (delay=0)
3 Date: Thu, 22 Mar 2007 13:31:57 GMT
4 Server: Apache/2.2.3 (Win32) mod_autoindex_color PHP/5.2.0
5 Content-Type: text/html; charset=iso-8859-1
6 Via: 1.1 - (DeleGate/9.2.3)
7 Connection: keep-alive, timeout=50, maxreq=60
8 Content-Length: 374
Location: unspecified
ERROR: Redirection (301) without location.
となりますね。
ところで何で .../login にアクセスしなければならなかったんでしたっけ。Moodleはログインしていないと .../login/index.php にredirectしますよね?
IEですと,
(1) http://www.suzuka-ct.ac.jp/mech/moodle も
(2) http://www.suzuka-ct.ac.jp/mech/moodle/ も
(3) http://www.suzuka-ct.ac.jp/mech/moodle/login も
は,全て同じ状況になります.
(”ページを表示できません。サーバーが見つからないか、DNS エラーです。”)
Firefoxですと,(1),(2),(3)共に,
http://www.suzuka-ct.ac.jp/mech/moodle/login/index.php
へ最終的に到達してくれます.ここまで到達する間にクッキーの処理など色々と本当は端折らない方が好ましいことを行なってくれているのかも知れませんが,いかんせん,(3)がだめですので...moodleが,(1)あるいは(2)でアクセスした際にloing/index.phpへリダイレクト(でよろしいのでしょうか)してくれているだろうから,IE使用時に(2)で正しくログイン画面に到達できないのは謎ではあります.
Windows用のwgetを入手しました (情報ありがとうございます)
以下,2つ,(1)mech/moodle と (2)mech/moodle/ にアクセスした際のresponseの違いを比較しました.スラッシュを付けなかった(1)は,きちんとスラッシュをつけた(2)のURLに直されてアクセスを試みているようです.
Location: unspecified
ERROR: Redirection (302) without location.
これで最終的には諦めることになっているようです.
このログから何かが分からないか,情報処理センターの者と相談してみます.
ただ,本校のサーバの更新が本日の昼から始まるという最悪の時期です...更新の結果,直ってくれたら良いのですが,大抵は他のトラブルが増えて問題の切り分けが難しくなるのでしょうねぇ.
***** no1
C:\Wintool\wget>wget -S http://www.suzuka-ct.ac.jp/mech/moodle
--09:29:58-- http://www.suzuka-ct.ac.jp/mech/moodle
=> `moodle'
***** no2
C:\Wintool\wget>wget -S http://www.suzuka-ct.ac.jp/mech/moodle/
--09:40:19-- http://www.suzuka-ct.ac.jp/mech/moodle/
=> `index.html.1'
*****
***** no1
HTTP request sent, awaiting response...
1 HTTP/1.1 302 Moved
2 Date: Fri, 23 Mar 2007 00:29:58 GMT
3 Server: DeleGate/9.2.3
4 DeleGate-Ver: 9.2.3 (delay=0)
5 MIME-Version: 1.0
6 Content-Type: text/html
7 Content-Length: 559
8 Expires: Fri, 23 Mar 2007 00:30:58 GMT
9 Connection: keep-alive, timeout=50, maxreq=60
10 Location: http://www.suzuka-ct.ac.jp:80/mech/moodle/
Location: http://www.suzuka-ct.ac.jp:80/mech/moodle/ [following]
--09:29:58-- http://www.suzuka-ct.ac.jp/mech/moodle/
=> `index.html.1'
Connecting to www.suzuka-ct.ac.jp[192.168.144.31]:80... connected.
HTTP request sent, awaiting response...
1 HTTP/1.1 302 See Other
***** no2
HTTP request sent, awaiting response...
1 HTTP/1.1 302 See Other
*****
-----------以下はwgetの出力のみ
(1)
C:\Wintool\wget>wget -S http://www.suzuka-ct.ac.jp/mech/moodle
--09:29:58-- http://www.suzuka-ct.ac.jp/mech/moodle
=> `moodle'
Resolving www.suzuka-ct.ac.jp... 192.168.144.31
Connecting to www.suzuka-ct.ac.jp[192.168.144.31]:80... connected.
HTTP request sent, awaiting response...
1 HTTP/1.1 302 Moved
2 Date: Fri, 23 Mar 2007 00:29:58 GMT
3 Server: DeleGate/9.2.3
4 DeleGate-Ver: 9.2.3 (delay=0)
5 MIME-Version: 1.0
6 Content-Type: text/html
7 Content-Length: 559
8 Expires: Fri, 23 Mar 2007 00:30:58 GMT
9 Connection: keep-alive, timeout=50, maxreq=60
10 Location: http://www.suzuka-ct.ac.jp:80/mech/moodle/
Location: http://www.suzuka-ct.ac.jp:80/mech/moodle/ [following]
--09:29:58-- http://www.suzuka-ct.ac.jp/mech/moodle/
=> `index.html.1'
Connecting to www.suzuka-ct.ac.jp[192.168.144.31]:80... connected.
HTTP request sent, awaiting response...
1 HTTP/1.1 302 See Other
2 DeleGate-Ver: 9.2.3 (delay=1)
3 Date: Fri, 23 Mar 2007 00:29:59 GMT
4 Server: Apache/2.2.3 (Win32) mod_autoindex_color PHP/5.2.0
5 X-Powered-By: PHP/5.2.0
6 Set-Cookie: MoodleSession=ef42beb5bef9f12d400c97733c5ed3b1; path=/
7 Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
8 Pragma: no-cache
9 Set-Cookie: MoodleSessionTest=ysCiFErbCo; path=/
10 Content-Type: text/html
11 Via: 1.1 - (DeleGate/9.2.3)
12 Expires: Thu, 19 Nov 1981 08:52:00 GMT
13 Connection: close
14 Content-Length: 229
Location: unspecified
ERROR: Redirection (302) without location.
(2)
C:\Wintool\wget>wget -S http://www.suzuka-ct.ac.jp/mech/moodle/
--09:40:19-- http://www.suzuka-ct.ac.jp/mech/moodle/
=> `index.html.1'
Resolving www.suzuka-ct.ac.jp... 192.168.144.31
Connecting to www.suzuka-ct.ac.jp[192.168.144.31]:80... connected.
HTTP request sent, awaiting response...
1 HTTP/1.1 302 See Other
2 DeleGate-Ver: 9.2.3 (delay=1)
3 Date: Fri, 23 Mar 2007 00:40:19 GMT
4 Server: Apache/2.2.3 (Win32) mod_autoindex_color PHP/5.2.0
5 X-Powered-By: PHP/5.2.0
6 Set-Cookie: MoodleSession=88d9018e9168857efdccfcf6ad3f755a; path=/
7 Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
8 Pragma: no-cache
9 Set-Cookie: MoodleSessionTest=zrJ8Dtauma; path=/
10 Content-Type: text/html
11 Via: 1.1 - (DeleGate/9.2.3)
12 Expires: Thu, 19 Nov 1981 08:52:00 GMT
13 Connection: close
14 Content-Length: 229
Location: unspecified
ERROR: Redirection (302) without location.
教えていただきましたwgetを使った結果,分かったことは,
http://www.suzuka-ct.ac.jp/mech/moodle でも,
http://www.suzuka-ct.ac.jp/mech/moodle/ でも,
Set-Cookie: MoodleSession=aa18274fbbf71a929824f1a8d24229a8; path=/
Set-Cookie: MoodleSessionTest=iYKhuN1eUA; path=/
というように,クッキーの操作が行われているらしいこと,つまりindex.phpがApacheのdir_moduleによって,自動的に選択され,呼び出されているということですよね.リバースプロキシの問題では無さそうです.
http://www.suzuka-ct.ac.jp/mech/moodle/index.phpでもwgetの出力はほとんど変わらないことから,
10 Content-Type: text/html
11 Via: 1.1 - (DeleGate/9.2.3)
12 Expires: Thu, 19 Nov 1981 08:52:00 GMT
13 Connection: close
14 Content-Length: 229
Location: unspecified
ERROR: Redirection (302) without location.
このようになってしまう理由はindex.php以降にあると予想されます.
しかし,PHPに問題があるとすると FirefoxではOKでIEではダメである理由が分からなくなりますね.
うーん,よくわかりません。プロキシを介さなければうまくいくんですよね。プロキシを使わない方式にしたほうが早いような。
学外からアクセスできないと不便ですからね.
「追加的なフォームセキュリティを使用する」をOFFにしなといけない,これを根本的に解決する必要があるのかも知れません.一般的な状況下では問題にならないことが,ここでは顕在化してしまっているのかも.
ちなみにIEでも,デバッグをONにしてPHPのエラーを表示することで,なぜか,http://www.suzuka-ct.ac.jp/mech/moodle/login/index.php にアクセスすることでログインできます.(ゲストはダメですが)
IEではログインできない問題は解決しました.
(詳細は分かりませんが)本校のサーバ機器更新(先週)の際にリバースプロキシの設定を見直したらしく,そちらが影響していたようです.一見,普通に接続できますし,私のmoodle以外へのアクセスはIEでもFirefoxでも問題なくできていますので,発見が遅れたようです.
情報処理センター側でも,原因解明のためにテスト用のmoodleサイトを立ち上げて頂いたりと,大変だったようです.
お騒がせしました
