Windows Server 2003にて運用していたWebサーバのOS移行作業を実施していますが、
移行後の環境にクライアントからアクセスしたところ、IEブラウザ上に
「HTTPエラー500」が表示され、Webページの表示が正常に完了しませんでした。
環境は以下の通りです。
移行前の環境:
・Windows Server 2003SP2(32bit)(WindowsUpdateパッチを適用済み※2017/6/30)
・Internet Information Services:6.0
・ASP(スクリプトエンジン):5.8 ( 23707 )
移行後の環境:
・Windows Server 2012R2(64bit)(WindowsUpdateパッチを適用済み※2017/7/27)
・Internet Information Services:8.5
・ASP(スクリプトエンジン):5.8 ( 18698 )
・Internet Explorer:11.0.9600.18739
※移行後Webページのソースは移行前と同一です
クライアントの環境
・Windows 7(WindowsUpdateパッチを全て適用済み※2017/7/27)
・Internet Explorer:11.0.9600.18738
HTTPエラー500の詳細を調べるため、Webサーバ上で確認したところ、
以下のエラーが発生していました。
--------------------
エラー '80004005'
/xxxx/A.asp, 行 259
--------------------
Webサーバ上でのエラーメッセージより、
"A.asp"の259行目を確認したところ、
下記の通りWSCをGetObjectをしている箇所でした。
A.asp----------------------------------------------------
' wscファイルパス用変数を宣言
Dim strPath
' UpLoad Component を生成
strPath = "script:" & Server.MapPath("A.wsc")
' GetObject関数にて"A.wsc"を実行
259行目 Set Upload = GetObject(strPath)
---------------------------------------------------------
そこでA.asp内のどこでエラーになっているのか確認するため、
A.wsc内のオブジェクトの実行内容をテキストに出力する
デバッグ用のコードをA.wscに埋め込み実行した結果、
Requestオブジェクト(※1)だけ、何も出力されませんでした。
(※1)Requestオブジェクト実行箇所:Request.ServerVariables("request_method")
また、isobject(Request)をA.wsc内で実行した結果、falseが返ってきたので
A.wsc内からRequestオブジェクト自体の参照が出来ていないことまでは分かりました。
ちなみにisobject(Request)をA.asp内で実行した結果、trueが返ってきていることから
ASPファイルからRequestオブジェクトを呼び出すことが出来ることも確認しています。
現時点での確認結果から、WSCファイルからのRequestオブジェクトを参照出来れば
解決できると思っています。そこで、WSCファイルからRequestオブジェクトを参照する
方法をご教授いただければと思います。
一応、他の方のノウハウ等も参照して、以下対策を実施しましたが結果に変化ありませんでした。
①スクリプト コンポーネントの登録
"A.wsc"を右クリックし「Register」
↓
下記メッセージにて終了
「C:\Windows\System32\scrobj.dll の DLLRegisterServer and DllInstall は成功しました。」
②下記Microsoftサポートページを参照させていただき、
IISのASP詳細設定の「最大要求エンティティ ボディ制限」を「1073741824」に設定して、
「web.config」内に「maxRequestEntityAllowed=1073741824」を出力。
③Windows2012R2の「役割と機能の追加」でASPを設定し、IISでASPプールにマネージコードなし、classicを指定して登録。
※
補足ですが、検証のためWindows Server 2008 SP2(32bit)をWebサーバとして、
同一ソースにて動作確認した結果、正常に動作しました。
Windows Server 2008 SP2の環境:
・Windows Server 2008 SP2(32bit)(WindowsUpdateパッチを適用済み※2017/7/27)
・Internet Information Services:7.0
・ASP(スクリプトエンジン):5.7 ( 19662 )