1

私は奇妙なシナリオを持っています:

Web.configファイルからセクションを読み取ろうとしているGACのdllを呼び出すWebパーツがあります。これは正常に機能しますが、SSLでは、(構成ファイルの)パスにアクセスできないと言って失敗します。ただし、これはmosssvcアカウントの下にあり、webconfigファイルを完全に制御できます。

80web.configファイルと443web.configファイルの両方に、dllが探している同じエントリがあり、mosssvcは両方の構成を完全に制御できます。

443の信頼レベルを完全に上げてみましたが、うまくいきませんでした。

何かアイデア、または私が試すことができると思うことができるものはありますか?

編集:もっと明確にすべきでした:SSLサイトはすでに作成されており、GACのアセンブリ内の1つのメソッドがWeb構成を調べようとするまで正常に機能します。

完全なエラーメッセージは次のとおりです。

Event Type:        Warning
Event Source:    ASP.NET 2.0.50727.0
Event Category:                Web Event 
Event ID:              1310
Date:                     2/9/2009
Time:                     1:44:49 PM
User:                     N/A
Computer:          XXXXX
Description:
Event code: 3008 
Event message: A configuration error has occurred. 
Event time: 2/9/2009 1:44:49 PM 
Event time (UTC): 2/9/2009 9:44:49 PM 
Event ID: 2d7180cdfbb34acfa6c61f95df12ddde 
Event sequence: 26 
Event occurrence: 1 
Event detail code: 0 

Application information: 
    Application domain: YYYYYYYYYYYYYYYYYYYYYYY
    Trust level: Full 
    Application Virtual Path: / 
    Application Path: C:\Inetpub\wwwroot\wss\VirtualDirectories\8443\ 
    Machine name: XXXXXXXX 

Process information: 
    Process ID: 5168 
    Process name: w3wp.exe 
    Account name: XXXXXXXXX\mosssvc 

Exception information: 
    Exception type: ConfigurationErrorsException 
    Exception message: An error occurred loading a configuration file: Access to the path 'C:\Inetpub\wwwroot\wss\VirtualDirectories\8443\web.config' is denied. (C:\Inetpub\wwwroot\wss\VirtualDirectories\8443\web.config) 

Request information: 
    Request URL: https://XXXXXXX:443/training/Pages/smartregister.aspx?c=383 
    Request path: /training/Pages/smartregister.aspx 
    User host address: 64.34.27.186 
    User:  
    Is authenticated: False 
    Authentication Type:  
    Thread account name: XXXXXXX\mosssvc 

Thread information: 
    Thread ID: 10 
    Thread account name: XXXXXXX\mosssvc 
    Is impersonating: True 
    Stack trace:    at System.Configuration.ConfigurationSchemaErrors.ThrowIfErrors(Boolean ignoreLocal)
   at System.Configuration.BaseConfigurationRecord.ThrowIfParseErrors(ConfigurationSchemaErrors schemaErrors)
   at System.Configuration.Configuration..ctor(String locationSubPath, Type typeConfigHost, Object[] hostInitConfigurationParams)
   at System.Configuration.Internal.InternalConfigConfigurationFactory.System.Configuration.Internal.IInternalConfigConfigurationFactory.Create(Type typeConfigHost, Object[] hostInitConfigurationParams)
   at System.Web.Configuration.WebConfigurationHost.OpenConfiguration(WebLevel webLevel, ConfigurationFileMap fileMap, VirtualPath path, String site, String locationSubPath, String server, String userName, String password, IntPtr tokenHandle)
   at System.Web.Configuration.WebConfigurationManager.OpenWebConfigurationImpl(WebLevel webLevel, ConfigurationFileMap fileMap, String path, String site, String locationSubPath, String server, String userName, String password, IntPtr userToken)
   at System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration(String path)
   at XXXXXXXXX.RegistrationHelper.RegisterStudents(Boolean sendEmail, String Time, String Title, String bFirstName, String bLastName, String bAddress, String bPostalCode, String bCity, String bTelephone, String bCompany, String bEmail, List`1 Registrants, Int32 courseDateID, String pType, String CCNumber_, String NameOnCard, String cExpiry, Double Discount, String DiscountCode, Double CostPerRegistrant, String PurchaseOrder)
   at ASP.SmartEventRegistration.lnkSubmit_Click(Object sender, EventArgs e) in c:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\CONTROLTEMPLATES\SmartEventRegistration\SmartEventRegistration.ascx:line 401
   at System.Web.UI.WebControls.LinkButton.OnClick(EventArgs e)
   at System.Web.UI.WebControls.LinkButton.RaisePostBackEvent(String eventArgument)
   at System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
   at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
   at System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
   at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
   at System.Web.UI.Page.ProcessRequest()
   at System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context)
   at System.Web.UI.Page.ProcessRequest(HttpContext context)
   at Microsoft.SharePoint.Publishing.TemplateRedirectionPage.ProcessRequest(HttpContext context)
   at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
   at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
4

1 に答える 1

1

これを試して、MOSSでSSLを有効にする方法についてFaranzKanSharePointブログを作成してください。

  1. サーバーの全体管理->新しいWebアプリケーションの作成または拡張->新しいWebアプリケーションの作成に移動します。
  2. 通常どおり、Webアプリ、DB、およびアプリプールの名前を入力します。WebアプリケーションでSSLを有効にするには、[はい]を選択します。このWebアプリにホストヘッダーを使用している場合は、それらも入力します。(重要:ポートを80ではなく443に設定してください)。
  3. Webアプリケーションが作成されたら、IISをリセットしてから、IISmmcを開きます。MOSSが作成したばかりのIISWebサイトまでスクロールし、使用可能な証明書から適切なSSL証明書を選択します(これがテストサーバーであるか製品サーバーであるかに応じて、ネットワーク担当者に内部または外部のSSL証明書を生成するよう依頼してください)。重要:[ホームディレクトリ]タブに移動し、[詳細]をクリックします。ポート80にホストヘッダーと正しいIPを設定していることを確認してください。SSLエントリの場合は、ポート443とIPを選択します。(サーバー上に複数のIPがある場合、通常、これらのエントリ用にここで1つ選択します)。SSLエントリの編集ボタンをクリックし、[SSLが必要]チェックボックスをオンにします。これをより安全にするために、「128ビット暗号化が必要」もチェックしてください。
  4. 次に、このWebアプリの最初のサイトコレクションを作成します。MOSSは自動的に新しいサイトコレクションを作成し、完了すると「https://..」リンクを表示します。これで、SSL対応のWebアプリができました。
  5. デフォルトでは、同じサーバーでSSLを使用する複数のWebアプリが必要な場合
    • これはIIS6では機能しません。複数のMOSS2007WebアプリでSSLを有効にする場合は、2つの方法があります。1つの方法は、そのWebサーバーにSSL Webアプリを必要な数だけ取得し、IISWebサイトのプロパティ->ホームディレクトリ->詳細設定でポート80および443のホストヘッダー設定ごとに1つのIPを割り当てることです。もう1つのオプションは、IISメタベースを変更して、同じIP上で複数のSSLWebアプリを許可することです。2番目のオプションに注意し、自分が何をしているのかを確認してください。
于 2009-02-10T03:59:24.140 に答える