質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
IIS

IIS(Internet Information Services)はマイクロソフト社によって開発されたwebサーバーです。Windows上で動作します。

SSL

SSL(Secure Sockets Layer)とは、暗号化されたプロトコルで、インターネット上での通信セキュリティを提供しています。

web.config

web.configはASP.NETウェブアプリケーションの主な設定や構成ファイルを格納するXMLファイルです。

ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

Authentication

Authentication(認証)は正当性を認証する為の工程です。ログイン処理等で使われます。

Q&A

解決済

1回答

11416閲覧

WEB.ASPXで強制的にリダイレクトされてしまい必要なページが見れなくなった

matsu20211207

総合スコア1

IIS

IIS(Internet Information Services)はマイクロソフト社によって開発されたwebサーバーです。Windows上で動作します。

SSL

SSL(Secure Sockets Layer)とは、暗号化されたプロトコルで、インターネット上での通信セキュリティを提供しています。

web.config

web.configはASP.NETウェブアプリケーションの主な設定や構成ファイルを格納するXMLファイルです。

ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

Authentication

Authentication(認証)は正当性を認証する為の工程です。ログイン処理等で使われます。

0グッド

0クリップ

投稿2021/12/08 09:04

編集2021/12/09 06:44

WEB.ASPX でサイトを構築して運用しています。

正しいユーザのみに公開したサイトなので、
web.config の設定で、サイトアクセス時にはまず login.aspx を通るようにしています。
[ web.config の設定 ]
<authentication mode="Forms">
<forms loginUrl="login.aspx"/>
</authentication>

login.aspx にて正しいID/PASS を入力して
サイト内のページ page1.aspx , page2.aspx ,,, といくつかのページに移動した後に
logout.aspx にてログアウトします。
その後に、ブラウザのURL欄に 直接 page1.aspx と入力してアクセスすると、login.aspx にリダイレクトされます。

ここまではいいのですが、
その後、あらためて、login.aspxにて正しいID/PASSにてログインしたあと、page1.aspx に移動しようとすると、
強制的に login.aspx にリダイレクトされるようになってしまい、以降は決して page1.aspx にはアクセスできなくなります。
page2,,など他のページは見れます。

page1.aspx は必要なページなので、アクセスする必要があります。
解決策はありませんでしょうか?

なお、
当該現象は、サイト管理者 と ユーザ で発生しています。
試しに ブラウザを変えてアクセスすると当該現象は発生しません(page1.aspxは見れます)

・サイト管理者のPC(OS:WIN10) : 現象が発生したブラウザ : Edge (chromeでは、見れます)
・ユーザPC(OS:WIN10): 現象が発生したブラウザ : Chrome (Edgeでは、見れます)

見れなくなるページは、URLに直接入力したページが見れなくなる模様です
・サイト管理者: page1.aspx と page3.aspx が全く見れなくなった (page2.aspx は見れる)
・ユーザ: page2.aspx が全く見れなくなった (page1.aspx, page3.aspxは見れる。実はユーザからの問い合わせの調査で管理者PCも見れなくなった、、)

PCを再起動しても見れないままです。

IISのログは、見れているページへのアクセスは記録がありますが、見れなくなったページへのアクセスは、アクセス自体が記録されていません。
ログに記載することもなく強制的にリダイレクトしている模様?

WEBサーバを再起動しても見れないままです

aspxのプログラムを若干変更して、再ビルドしてプロジェクトを入れ替えても、見れないままです。

page1.aspx など各ページは業務に必要ですので見れる必要があります。
解決策はありませんでしょうか?

<サーバ情報>
・サーバOS : WindowsServer2019 Essentials
・IIS : 10.0.17763.1
・SSL化済み

これまで数年間運用してきたサイトです。
この前の2021年10月に 上記サーバに移行し、SSL化しました。

よろしくお願いいたします。

< +++ 以下を追加 2021/12/09 11:50 +++ >

サーバ移行にあたり、web.config を一部変更しました
以前は IIS6 で運用していたので、system.web.extensions の設定が必要でしたが、
今回iis10 では system.webserver を使うとのこで、当該の記載があるとエラーが出て動かなくなるので、項目ごとコメント化しました。
(構成エラー : 定義済みの xxx セクションが重複しています とのこと)

コメント化した部分は次の通り (トークンの部分のみ XXXX に変更)

<configSections> <sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=XXXXXXXXX"> <sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=XXXXXXXXX"> <section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=XXXXXXXXX" requirePermission="false" allowDefinition="MachineToApplication"/> <sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=XXXXXXXXX5"> <section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=XXXXXXXXX" requirePermission="false" allowDefinition="Everywhere"/> <section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=XXXXXXXXX" requirePermission="false" allowDefinition="MachineToApplication"/> <section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=XXXXXXXXX" requirePermission="false" allowDefinition="MachineToApplication"/> <section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=XXXXXXXXX" requirePermission="false" allowDefinition="MachineToApplication"/> </sectionGroup> </sectionGroup> </sectionGroup> </configSections>

頂いたアドバイスをふまえ、もしかしたら、項目の中の一部は必要だったのかもしれないと思い、
コメント化した項目は5項目あったので、先ほど試しに 1つずつ復活させながらやってみましたが、どれも上記の重複エラーが表示されました
(5項目すべてコメント化したら重複エラーは出なくなった)

何か重要な項目の設定が不足しているのでしょうか?
重ねてよろしくお願いいたします。

< +++ 以下を追加 2021/12/09 15:45 +++ >

・もしかしたら、web.configの 下部にある system.webServer の記述も関係あるかもと思いましたので追記します (トークン部分のみ xxxx に変更)

<system.webServer> <validation validateIntegratedModeConfiguration="false"/> <modules> <remove name="ScriptModule"/> <add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=xxxxx"/> </modules> <handlers> <remove name="WebServiceHandlerFactory-Integrated"/> <remove name="ScriptHandlerFactory"/> <remove name="ScriptHandlerFactoryAppServices"/> <remove name="ScriptResource"/> <add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=xxxxxx"/> <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=xxxxxxx"/> <add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=xxxxxx"/> </handlers> </system.webServer>

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2021/12/08 12:46 編集

> これまで数年間運用してきたサイトです。この前の2021年10月に 上記サーバに移行し、SSL化しました。 サーバーを変えた、SSL 化した他に何かしたのでは? 思い出してみましょう。 質問に書いてある状況はロールによるアクセス制限のように見えますが、サーバーを変えた、SSL 化しただけでそんな状況になることはあり得ないと思うのですが・・・
matsu20211207

2021/12/09 02:07

サーバ設定時の資料を見返していますが、確かに、そういえば、サーバを変えるときに、Web.Configも少し変更しました。 以前は IIS6.5 で運用していたので、system.web.extensions の設定が必要でしたが、 今回iis10 では system.webserver を使うとのこで、当該の記載があるとエラーが出て動かなくなるので、項目ごとコメント化しました。  (構成エラー : 定義済みの xxx セクションが重複しています とのこと) もしかしたら、項目の中の一部は必要だったのかもしれないと思い、 コメント化した項目は5項目あったので、先ほど試しに 1つずつ復活させながらやってみましたが、どれも上記の重複エラーが表示されました  (5項目すべてコメント化したら重複エラーは出なくなった) 何か重要な項目の設定が不足しているのでしょうか?
退会済みユーザー

退会済みユーザー

2021/12/09 02:39

上のコメントは追加情報として質問欄を編集して追記願います。IIS 6.5 は IIS 6 の間違いでしょうからそこは直してください。
matsu20211207

2021/12/09 02:59

ご指摘ありがとうございます。 質問欄を編集 (追記)しました。よろしくお願いいたします。
退会済みユーザー

退会済みユーザー

2021/12/09 03:11

コードは ``` と ``` で囲ってください(``` はバッククォート 3 つ)。インデントされて見やすくなるので。
matsu20211207

2021/12/09 03:22

バッククオート (Shift + @) で囲みました。 なるほど、とても見やすくなりました。知りませんでした。ありがとうございます。
退会済みユーザー

退会済みユーザー

2021/12/10 01:01

もう一度書きますが、 業務でやっているのだと思いますが、であれば、上司・先輩ほか現場で状況を見ることができるエキスパートに相談した方が良さそうです。見えないところで何をしているか分からないここのような掲示板では解決は難しそうです。 ・・・どうでしょう? 話が通じてないと認識されてますか? ご自分でも「至らない点や不勉強な点が多々あり」と認識されている通りです。話が通じないのでは掲示板で解決するのは難しいです。
matsu20211207

2021/12/10 01:28

・貼り付けてある「Windowsの機能」の画面は出せませんでしたが、別の方法でインストールしてあるものを確認したところ、 Windows認証 と 基本認証 が未インストールでしたので、インストールしたところ、管理者PC-Egdeでは現象が発生しなくなり、全てのページが見れるようになりました。 ありがとうございます。 (v2.0 , v4.0 のどちらも解決) ・ユーザに確認したところ、ユーザのchromeではpage2がまだ見れないまま とのことです。 (v2.0 , v4.0 のどちらともまだ見れない) chrome は履歴などは全部削除してもらいましたがまだ見れないとのこと。 複合要因? ・確かに掲示板に不向きかもしれません。  あと1つ、管理者PC (edge) で解決して、ユーザPC (chrome) で解決しない原因・理由など心当たり、思いつく点などありませんでしょうか?
退会済みユーザー

退会済みユーザー

2021/12/10 01:51

前にも書きましたが、全体的に不可解な動きで、私の想像の斜め上の何かとんでもないことをしているとしか思えないです。フォーム認証を使っているようなのに「Windows認証 と 基本認証 が未インストールでしたので、インストールしたところ」解決したとか全く不可解。自分は面倒見切れませんので撤退します。悪しからず。 最後に一つだけレスしておきます。 > 管理者PC (edge) で解決して、ユーザPC (chrome) で解決しない原因・理由など心当たり、思いつく点などありませんでしょうか? 最初にアプリを作った人に聞きましょう。ある特定の条件でリダイレクトする機能を実装したとか、URL Rewrite モジュールをインストールしてあってそういうルールが実装されているぐらいですね。
guest

回答1

0

ベストアンサー

今回iis10 では system.webserver を使うとのこで、当該の記載があるとエラーが出て動かなくなるので、項目ごとコメント化しました。

そのコードは Visual Studio のテンプレートでフレームワークを .NET Framework 3.5 にすると自動的に web.config に生成されるものです。

自分の開発マシンにある .NET Framework 3.5 の Web Forms アプリでも同じで、それをローカル IIS 10 の統合パイプラインモードで動かしてますが、問題なく動いてます。なので、そこの問題ではなさそうで、コメントアウトしたらダメだと思います。

イメージ説明

ただし、それを動かすアプリケーションプールの .Net CLR バージョンは 2.0 にする必要があると思います。そこはどうなってますか?

イメージ説明


【追記】

下のコメント欄の 2021/12/09 15:12 の私のコメントで「長くなるので回答欄に追記します」と書いた件です。

全体的に不可解な動きで、私の想像の斜め上の何かとんでもないことをしているとしか思えないです。業務でやっているのだと思いますが、であれば、上司・先輩ほか現場で状況を見ることができるエキスパートに相談した方が良さそうです。見えないところで何をしているか分からないここのような掲示板では解決は難しそうです。

一応、下の 2021/12/09 13:41 の質問者さんのコメントにレスしておきますが・・・

次のフォルダに、DBにアクセスしている内部的なユーザ のアクセス権がないとのエラーが出たのでフルアクセスを付与しました

Temporary ASP.NET Files にはそんなことをしなくても、IIS のアカウントに必要な権限が与えられているはずです。下の画像のようになってませんか?

イメージ説明

違うとすると、Windows Server の IIS の設定に何か問題があるかもしれません。確認してください。参考に自分の Windows 10 の IIS 10 の設定を載せておきます。

イメージ説明

ログイン画面は表示されるようになりましたが、管理者PCで、Edgeで、page1.aspx が見れない状況は変わりません。

特定のブラウザに問題があるとすると、ASP.NET 3.5 のブラウザ定義ファイルの関係が想像されますが、その問題で Edge がダメなら Chrome も同様にダメなはずで、それが原因ではなさそう。

管理者・一般ユーザーの違いでアクセスできるページが異なるということから想像できるのはロールの違いです。心当たりはありませんか。ただ、IIS 6 の時は問題なかったということであれば、IIS 10 に変えたからと言ってそこに問題が出ることは考えにくいですが。

既存の ASP.NET Web Forms アプリを IIS 6 のクラシックモードから IIS 10 の統合パイプラインモードに移したのだと理解していますが、その場合考えられる問題には web.config における HttpModule と HttpHandler の定義方法があります。

<system.web> セクションの <httpModules><httpHandlers> 内に定義してはダメで、すべて <system.webServer> セクションの <modules><handlers> 内に移す必要があります。

その問題があるとエラーで動かないはずなので違うかもしれませんが、確認してください。

問題があれば、以下の記事に書いてあるように appcmd.exe migrate config コマンドを実行するのがよさそうです。

ASP.NET と IIS 7 の統合
https://docs.microsoft.com/ja-jp/previous-versions/ff454024(v=technet.10)

ちなみに、appcmd.exe を走らせると web.config がどのように変わるかというと、<system.webServer> およびその中に <modules><handlers> が追加され、<system.web> セクションで定義されている HttpModule と HttpHandler がコピーされます。また、<validation validateIntegratedModeConfiguration="false" /> が追加されます。

投稿2021/12/09 04:05

編集2021/12/09 06:41
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

matsu20211207

2021/12/09 04:41

回答、ありがとうございます。また画面イメージを付けていただいてとてもわかりやすくありがたいです。 次のようにしましたが、まだ駄目です(管理者PCで、Edgeで、page1.aspx が見れません) ・アプリケーションプールの DefaultAppPool の .NetCLRバージョンは、v4.0 になっていたので v2.0 にし、  Web.Configは、コメントを解除しました。 ・すると、次のフォルダに、DBにアクセスしている内部的なユーザ のアクセス権がないとのエラーが出たのでフルアクセスを付与しました   c:\Windows\Microsoft.NET\Framework64\v2.0.50727\TemporaeyASP.NET Files ・ログイン画面は表示されるようになりましたが、管理者PCで、Edgeで、page1.aspx が見れない状況は変わりません。 設定を間違えたのでしょうか、、。 よろしくお願いいたします。
退会済みユーザー

退会済みユーザー

2021/12/09 06:12

上のコメントへのレスは、長くなるので回答欄に追記します。
matsu20211207

2021/12/09 07:30

回答ありがとうございます。 ・もしかしたら、sytem.webserver の項目が関係あるかもと思い、さきほど質問欄に追記しました。 ・上記の アクセス権は、web.configに記載しているDBに自動接続用のIDなので、問題ないと思われます。 ・ご指摘の通り、IISの設定を確認します。 はりつけてある画像「WINDOWSの機能」の画面はどのようにだせばよろしいでしょうか? 不勉強ですいません。 ・今回、操作をしていて感じるのは、IIS の中に、不可なアクセス として・管理者PC-Edge-Page1.aspx , ・ユーザPC- chrome-Page2.aspx のような情報が自動的に登録されていて、該当する場合は即座にリダイレクトされているような感じです。IISの登録情報のリセットがされないように感じるのですが、、。 ・当サイトは古く、10年程度前からバージョンアップを繰り返しながら運用しているものです。  古い情報が溜まって何か悪さをしているのかもしれませんし、設定の不備かもしれません。 ・あと、ご説明中にある ロール の違い とのことですが、ここが重要そうなのですが何のことを言われているかわかりません。 不勉強ですいません。 もう少し教えていただけましたらありがたいです。 至らない点や不勉強な点が多々あり申し訳ございませんが、何卒よろしくお願いいたします。
退会済みユーザー

退会済みユーザー

2021/12/09 09:11

もう一度書きますが、 業務でやっているのだと思いますが、であれば、上司・先輩ほか現場で状況を見ることができるエキスパートに相談した方が良さそうです。見えないところで何をしているか分からないここのような掲示板では解決は難しそうです。 ・・・どうでしょう?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問