ข้อความแสดงข้อผิดพลาดบนไคลเอ็นต์ CCF ที่ติดตั้ง sp1 ก่อน.NET Framework: "หัวข้อการรับรองความถูกต้องที่ได้รับจากเซิร์ฟเวอร์ถูก 'Negotiate' "

นำไปใช้กับ: .NET Framework 3.5 Service Pack 1

อาการ


เมื่อคุณใช้แอพลิเคชันเดสก์ท็อปแทนหรือ Microsoft Management Console (MMC) ในสภาพแวดล้อมที่กำลังทำงานอยู่ Microsoft ลูกค้าดูแล Framework (CCF), ได้รับไคลเอนต์ Windows ที่มีการ Microsoft .NET Framework 3.5 Service Pack 1 (SP1) ติดตั้งอยู่ ต่อไปนี้แสดงข้อผิดพลาดในบันทึกของโปรแกรมประยุกต์ใน Event Viewer:ข้อความแสดงข้อผิดพลาด 1
ListenerConfiguration พบปัญหาขณะพยายามเข้าถึงบริการเว็บการตั้งค่าคอนฟิก การร้องขอ HTTP ไม่ได้รับอนุญาตกับโครงร่างการรับรองความถูกต้องของไคลเอ็นต์ 'Negotiate' หัวข้อการรับรองความถูกต้องที่ได้รับจากเซิร์ฟเวอร์ถูก 'Negotiate'
ข้อความแสดงข้อผิดพลาด 2
ListenerConfiguration พบปัญหาขณะพยายามเข้าถึงบริการเว็บการตั้งค่าคอนฟิก การร้องขอ HTTP ไม่ได้รับอนุญาตกับโครงร่างการรับรองความถูกต้องของไคลเอ็นต์ 'Negotiate, NTLM' หัวข้อการรับรองความถูกต้องที่ได้รับจากเซิร์ฟเวอร์ถูก 'Negotiate'
นอกจากนี้ ถ้าคุณใช้เดสก์ท็อปของบริษัทตัวแทน แอพลิเคชันไม่ทำงาน ปัญหานี้เกิดขึ้นถ้า Url ปลายทางที่ใช้ ในแฟ้มการกำหนดค่าเดสก์ท็อปของบริษัทตัวแทน และฐานข้อมูล CCFInfrastructure ชี้ไปชื่อ NetBIOS จริงของเซิร์ฟเวอร์ที่โฮสต์ CCF เว็บเซอร์วิส ถ้าคุณใช้ MMC พร้อมกับชื่อ NetBIOS จริง สำหรับ CCF เว็บเซิร์ฟเวอร์ หรือชื่อโดเมน(แบบเต็ม FQDN) ที่ปรากฏในกล่องการเชื่อมต่อการเชื่อมต่อไม่สำเร็จ นอกจากนี้ คุณเห็นข้อความแสดงข้อผิดพลาดที่คล้ายกับต่อไปนี้ในบันทึกเหตุการณ์ของระบบ:หมายเหตุCCF เว็บเซิร์ฟเวอร์เป็นเซิร์ฟเวอร์ที่เรียกใช้ Internet Information Services (IIS)

สาเหตุ


ปัญหานี้เกิดขึ้นเนื่องจากการเปลี่ยนแปลงความปลอดภัยและการรับรองความถูกต้องที่เกี่ยวข้องกับกรอบงานการติดต่อสื่อสาร Windows (WCF) ใน 1. Service Pack 3.5 ของกรอบงาน.NET ที่สำหรับข้อมูลเพิ่มเติม โปรดดูส่วน 2.3.2 ของไฟล์.NET 3.5 Service Pack 1 Readme เมื่อต้องการดูแฟ้มนี้ แวะไปที่เว็บไซต์ต่อไปนี้ของ Microsoft:

การแก้ไข


หากต้องการแก้ปัญหานี้ ให้ทำตามขั้นตอนต่างๆ ต่อไปนี้:
  1. ตั้งค่านามแฝงที่ชื่อระเบียน CNAME สำหรับเซิร์ฟเวอร์ CCF IIS ใน DNS เมื่อต้องการทำเช่นนี้ ให้ทำตามขั้นตอนเหล่านี้ บันทึกย่อ
    • ชื่อที่ใช้ใน Url ปลายทางในเดสก์ท็อปของบริษัทตัวแทน ใน MMC และในเว็บบริการแฟ้มการกำหนดค่า
    • คุณต้องเป็นผู้ดูแลโดเมนและผู้ดูแลระบบ DNS หรือทำตามขั้นตอนเหล่านี้
    1. บนตัวควบคุมโดเมนที่กำลังเรียกใช้ DNS คลิกเริ่มชี้ไปที่โปรแกรมทั้งหมดคลิกเครื่องมือการจัดการและจากนั้น คลิกDNS
    2. ขยายโหนดตัวควบคุมโดเมน
    3. ขยายโหนดโซนการค้นหาไปข้างหน้า
    4. คลิก CCF FQDN
    5. คลิกขวาในบานหน้าต่างด้านขวา
    6. คลิกสร้างนามแฝง (CNAME)
    7. ในกล่องโต้ตอบระเบียนทรัพยากรใหม่พิมพ์นามแฝง ตัวอย่าง พิมพ์ชื่อของคอมพิวเตอร์ที่ใช้นามแฝงของ CCF IIS ร่วมกับ FQDN ของเซิร์ฟเวอร์ CCF IIS
    8. เพิ่มโฮสต์จำเป็น และจากนั้น คลิกเสร็จสิ้น
  2. บนคอมพิวเตอร์ไคลเอนต์ เพิ่ม URL HTTP ของคอมพิวเตอร์นามแฝง CCF IIS และนามแฝง CCF IIS FQDN ลงในรายการไซต์อินทราเน็ตท้องถิ่น
  3. เปลี่ยนชื่อเซิร์ฟเวอร์ทั้งหมดในปลายทาง Url จาก "CCF IISชื่อเซิร์ฟเวอร์ที่แท้จริงหรือ FQDN" เมื่อต้อง การชื่อนามแฝง CCF IIS หรือนามแฝง CCF IIS FQDN คุณต้องดำเนินการในแฟ้มหรือ Url ต่อไปนี้:
    • แฟ้ม Agentdesktop.exe.config บนไคลเอนต์
    • แฟ้ม Mmc.exe.config สำหรับ MMC
    • CCF เว็บบริการแฟ้ม Web.config บนเซิร์ฟเวอร์ CCF IIS
    • Url ทั้งหมดปลายทางในฐานข้อมูล CCFInfrastructure เซิร์ฟเวอร์ SQL ของ Microsoft
  4. ที่พรอมต์คำสั่ง เรียกใช้คำสั่งSetSpnในการลงทะเบียนชื่อบริการหลัก (SPN) ของข้อมูล โฮสต์/CCFAlias และ host/CCFAlias.fabrikam.com รายละเอียดสำหรับบัญชีผู้ใช้ที่กำลังเรียกใช้พูลโปรแกรมประยุกต์ของบริการเว็บ CCF ใน IIS ตัวอย่างเช่น ใช้คำสั่งSetSpnในการลงทะเบียน SPN "ASPUSER" หมายเหตุ คุณต้องเข้าสู่ระบบเป็นผู้ดูแลโดเมนเพื่อทำขั้นตอนนี้ เมื่อต้องการดาวน์โหลดเครื่องมือสนับสนุน Setspn.exe คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
    970536 Setspn.exe สนับสนุนเครื่องมือการปรับปรุงสำหรับ Windows Server 2003
    ในตัวอย่างต่อไปนี้แสดงวิธีการเรียกใช้คำสั่งSetSpn :
    setspn –S host/CCFIISAlias MyDomain\MyCCFAppPoolServiceAccount
    setspn –S host/CCFIISAlias.mydomain.com MyDomain\MyCCFAppPoolServiceAccount
  5. ทำตามวิธีใดวิธีหนึ่งต่อไปนี้เพื่อกำจัดตั๋วบนไคลเอนต์:
    • เริ่มการทำงานของคอมพิวเตอร์ไคลเอนต์
    • รอตั๋ว Kerberos จะหมดอายุในคอมพิวเตอร์ไคลเอนต์
    • ใช้แฟ้ม Kerbtray.exe จาก Windows Resource Kit
  6. เดสก์ท็อปของบริษัทตัวแทนการทดสอบและ MMC หมายเหตุ ใน MMC โปรดตรวจสอบให้แน่ใจว่า คุณพิมพ์ชื่อนามแฝง CCF IIS แทนชื่อของเซิร์ฟเวอร์ CCF IIS ในการเชื่อมต่อกับกล่อง
หมายเหตุ โปรแกรมประยุกต์เว็บที่ทำงานใน IIS 7.0 ใช้คุณลักษณะใหม่ที่เรียกว่าการรับรองความถูกต้องของโหมดเคอร์เนลจะทำการรับรองความถูกต้องของ Windows คุณลักษณะนี้ช่วยให้ สำหรับการตั้งค่าคอนฟิก SPN แบบง่าย และประสิทธิภาพการทำงานของการรับรองความถูกต้องขั้นสูง โดยค่าเริ่มต้น IIS 7.0 เปิดใช้งานคุณลักษณะนี้ IIS 7.0 ใช้ข้อมูลเฉพาะตัวของพูลโปรแกรมประยุกต์เพื่อถอดรหัสตั๋ว Kerberos ในระหว่างการพิสูจน์ตัวจริงของ Windows ถ้าคุณกำลังใช้ CCF 2009 พร้อม กับ IIS 7.0 หรือ Windows Server 2008 คุณต้องตั้งค่าสถานะในเซิร์ฟเวอร์ที่กำลังเรียกใช้แฟ้มการกำหนดค่า IIS เพื่อใช้ข้อมูลประจำตัวของพูลโปรแกรมประยุกต์สำหรับการตรวจสอบ เมื่อต้องการตั้งค่าสถานะนี้ ให้ทำตามขั้นตอนเหล่านี้:
  1. บนเซิร์ฟเวอร์ IIS 7.0 เปิดพร้อมท์คำสั่งเป็นผู้ใช้ของผู้ดูแลระบบ
  2. เรียกใช้คำสั่งต่อไปนี้:
    Notepad.exe C:\Windows\System32\inetsrv\config\applicationHost.config
  3. ในการกำหนดค่า XML เปลี่ยนแปลงการกำหนดค่าการรับรองความถูกต้องสำหรับบริการ CCF ทั้งหมดที่มีโฮสต์อยู่ในพูลโปรแกรมประยุกต์ และที่ทำงานภายใต้บัญชีผู้ใช้ของ DOMAIN\CCFAppPoolSERVICEAccount ต่อไปนี้เป็นตัวอย่างของการเปลี่ยนแปลงการตั้งค่าคอนฟิกที่จำเป็น:
       <location path="Default Web Site/Microsoft.Ccf.Csr.WebServices.AgentCredentials">        <system.webServer>            <directoryBrowse enabled="true" showFlags="Date, Time, Size, Extension" />          <handlers accessPolicy="Read, Execute, Script" />           <security>                <authentication>                    <windowsAuthentication enabled="true" useKernelMode=”true” useAppPoolCredentials=”true”>                        <providers>                            <clear />                            <add value="Negotiate" />                        </providers>                    </windowsAuthentication>                    <anonymousAuthentication enabled="true" />                    <digestAuthentication enabled="false" />                    <basicAuthentication enabled="false" />                </authentication>            </security>            <defaultDocument enabled="true">                <files>                    <clear />                    <add value="Default.htm" />                    <add value="Default.asp" />                    <add value="index.htm" />                    <add value="index.html" />                    <add value="iisstart.htm" />                    <add value="default.aspx" />                </files>            </defaultDocument>        </system.webServer>    </location>
  4. เปลี่ยนแปลงการกำหนดค่าบริการเว็บ CCF ทั้งหมดตามที่อธิบายไว้ในบทความนี้ แทนแอตทริบิวต์ของเส้นทางสำหรับแต่ละองค์ประกอบที่ตั้ง โดยใช้แอตทริบิวต์ของเส้นทางที่เหมาะสม บริการเว็บ CCF ใน CCF 2009 ได้ต่อไปนี้:
    • Microsoft.Ccf.Csr.WebServices.AgentCredentials
    • Microsoft.Ccf.Csr.WebServices.AdminConsole
    • Microsoft.Ccf.Csr.WebServices.ContactCenterAIF
    • Microsoft.Ccf.Csr.WebServices.ContactCenter
    • Microsoft.Ccf.Csr.WebServices.Customer
    • Microsoft.Ccf.WebServices.Gateway
    • Microsoft.Ccf.Samples.DemoWebApplication
    • Microsoft.Ccf.Samples.MultichannelServer
    • Microsoft.Ccf.Samples.MultichannelSite
    • Microsoft.Ccf.Csr.WebServices.ContactCenter.AgentLoginManager
    • Microsoft.Ccf.ConfigurationSystem.Server.ConfigurationService
    • Microsoft.Ccf.ConfigManagementDataService

ข้อมูลเพิ่มเติม


ขั้นตอนในการทบทวนเกิดปัญหา

  1. ตรวจสอบให้แน่ใจว่า คอมพิวเตอร์ไคลเอนต์ที่มีการติดตั้งโปรแกรมต่อไปนี้:
    • Windows XP Service Pack 3 (SP3)
    • .NET Framework 3.5 SP1
    • บนเดสก์ท็อปของบริษัทตัวแทน 2009 CCF หรือ MMC
  2. ตรวจสอบให้แน่ใจว่า คอมพิวเตอร์เครื่องนั้นหนึ่งคือ CCF เว็บเซิร์ฟเวอร์ที่กำลังเรียกใช้ Windows Server 2003 SP2 หรือ Windows Server 2008 ตรวจสอบให้แน่ใจว่า คอมพิวเตอร์ที่มี SQL server 2005 ติดตั้งอยู่
  3. ตรวจสอบให้แน่ใจว่า คอมพิวเตอร์เครื่องหนึ่งที่มีตัวควบคุมโดเมนที่กำลังเรียกใช้ Windows Server 2003 SP2 หรือ Windows Server 2008
  4. ตรวจสอบให้แน่ใจว่า คอมพิวเตอร์ทั้งหมดจะถูกกำหนดค่า สำหรับการรับรองความถูกต้อง Kerberos หรือ สำหรับการรับรองความถูกต้องของ Windows
  5. บนคอมพิวเตอร์ไคลเอ็นต์ที่มีการตั้งค่าคอนฟิกต่อไปนี้ เริ่มต้นบนเดสก์ท็อปของบริษัทตัวแทน:
    • แบบ SP1 .NET Framework 3.5 ติดตั้งอยู่
    • มีการติดตั้งบนเดสก์ท็อปของบริษัทตัวแทน 2009 CCF
    • Url ปลายทางในแฟ้มการกำหนดค่าเดสก์ท็อปของบริษัทตัวแทน (agentdesktop.exe.config) ที่ชี้ไปยังชื่อ NetBIOS จริงหรือ FQDN ของเซิร์ฟเวอร์ CCF IIS

อ้างอิง


สำหรับข้อมูลเพิ่มเติมเกี่ยวกับคำสั่งSetSPNแวะไปที่เว็บไซต์ต่อไปนี้ของ Microsoft:สำหรับข้อมูลเพิ่มเติมเกี่ยวกับเครื่องมือสนับสนุนใน Windows 2003 SP1 แวะไปที่เว็บไซต์ต่อไปนี้ของ Microsoft:สำหรับข้อมูลเพิ่มเติมเกี่ยวกับแฟ้ม Kerbtray.exe ใน Windows 2003 Resource Kit แวะไปที่เว็บไซต์ต่อไปนี้ของ Microsoft: