IIS 7でWindowsコマンドを使用してapplicationHost.configファイルを再構築する方法はありますか?または、このファイルを変更して問題を解決するのに役立つ場合は、それでも問題ありません。このファイルを比較する場合他のサーバーにとって、サイトといくつかのアプリケーションプールを削除した後、欠落しているかまたは異なる非常に重要なセクションに気づいています。
私は決してIIS 7のエキスパートではありませんが、これを7年間使用しています。新しいサイト構成のすべての適切な手順を実行したと確信しています。このエラー、"401.1 "You are not authorized to view this page. You do not have permission to view this directory or page using the credentials that you supplied."
C:\Windows\System32\inetsrv\config\applicationHost.config
これは、IIS APPPOOL {app pool user}が存在しないマシンで発生したため、権限を構成するときに通常使用するように、このユーザーを使用したことはありません。ただし、適切な権限を追加しました先週IIS_IUSRS(このグループのIUSRを含む)にアクセスし、サイトは正常に機能しました。Windows認証を使用しており、他のすべての認証方法はオフになっています。仮想ディレクトリはありません。NET4.0、Classic、および32ビットを使用していますアプリ(詳細設定の下)。
IISはVeriSign SSL証明書があったときにホスト名をグレー表示するため、バインディングの "C:\ Windows\System32\inetsrv"で次のコマンドを実行してホスト名を手動で更新する必要がありました。バインディングに追加されました。
appcmd set site /site.name:"himc" /+bindings.[protocol='https',bindingInformation='*:443:subdomain.domain.com']
「不良」Webサーバーのセクションがありません:
<customMetadata>
<key path="LM/W3SVC/INFO">
<property id="4012" dataType="String" userType="1" attributes="Inherit" value="NCSA Common Log File Format,Microsoft IIS Log File Format,W3C Extended Log File Format,ODBC Logging" />
<property id="2120" dataType="MultiSZ" userType="1" attributes="None" value="400,0,,,0
" />
</key>
</customMetadata>
<asp>
<cache diskTemplateCacheDirectory="%SystemDrive%\inetpub\temp\ASP Compiled Templates" />
</asp>
<isapiFilters>
<filter name="ASP.Net_2.0.50727.0" path="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_filter.dll" enableCache="true" preCondition="bitness32,runtimeVersionv2.0" />
<filter name="ASP.Net_2.0.50727-64" path="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_filter.dll" enableCache="true" preCondition="bitness64,runtimeVersionv2.0" />
<filter name="ASP.Net_2.0_for_V1.1" path="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_filter.dll" enableCache="true" preCondition="runtimeVersionv1.1" />
<filter name="ASP.Net_4.0_64bit" path="C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_filter.dll" enableCache="true" preCondition="runtimeVersionv4.0,bitness64" />
<filter name="ASP.Net_4.0_32bit" path="C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_filter.dll" enableCache="true" preCondition="runtimeVersionv4.0,bitness32" />
</isapiFilters>
<applicationDependencies>
<application name="Active Server Pages" groupId="ASP" />
</applicationDependencies>
<serverSideInclude ssiExecDisable="false" />
<authentication>
<anonymousAuthentication enabled="false" />
<windowsAuthentication enabled="true" />
</authentication>
どうやら、マイクロソフトはこれらのファイルの履歴を次の場所に保管しています。
C:\inetpub\history\
最初にすべての構成ファイルのバックアップを実行してください!
明らかに、IISは構成ファイルの履歴をC:\ inetpub\historyに保持します。したがって、必要なのは、最後の既知の日付を覚えていることですIIS正常に動作し、c:\ inetpub\historyから構成ファイルの内容をコピーし、c:\ windows\system32\inetsrv\configの構成ファイルを置き換えます。
幸運を!
現在アクティブなapplicationHost.configを変更するだけの場合は、次の記事を参照してください。
64ビットWin2008でのApplicationhost.configの編集
記事にあるように、何らかの理由でapplicationHost.configはエクスプローラー(カスタムファイルマネージャーからのファイルが表示されなかった理由を説明する)を使用してのみ表示され、メモ帳(他のエディターと問題が発生します)。
古い構成のバックアップをインストールするには、次のコマンドを使用できます。
c:\windows\system32\inetsrv\appcmd restore backup CFXHISTORY_xxxxxxxx
ここで、CFXHISTORY_xxxxxxxx
はC:\inetpub\history\
のサブフォルダです。
そのフォルダーから現在の構成にファイルをコピーする以外にコマンドが何をするかはわかりませんが、何か特別なことをする場合は、おそらくそれを使用する必要があります。
または、 https://stackoverflow.com/a/14859645/2279059 で説明されているように、バックアップからファイルをコピーすることもできます
Inetpub履歴フォルダーは私の尻を保存しました。ルートフォルダーにある2つのファイルを復元するだけで、Wallahの問題は解決しました。