ทุกคน,

ฉันกำลังพยายามกำหนดค่า Kerberos บน Apache ของเรา และขออภัยที่ไม่สามารถทำอะไรเพิ่มเติมได้อีก เว็บไซต์ (Typo3) บน apache มีการเข้าถึงภายในและภายนอกด้วย sub.domain.com โดเมนท้องถิ่นคือ intern.local

ฉันสร้างไฟล์ keytab แบบนี้:

ktpass -princ HTTP/[email protected] -mapuser [email protected] -pass [email protected] -crypto ALL -ptype KRB5_NT_PRINCIPAL -out C:\temp\kerbkey.keytab

ไฟล์ krb5.conf มีลักษณะดังนี้:

[libdefaults]
        default_realm = INTERN.LOCAL

        kdc_timesync = 1
        ccache_type = 4
        forwardable = true
        proxiable = true

[realms]
        INTERN.LOCAL = {
                kdc = dc01.intern.local
                admin_server = dc01.intern.local
                default_domain = intern.local
        }

[domain_realm]
        .sub.domain.com = INTERN.LOCAL
        sub.domain.com = INTERN.LOCAL
        intern.local = INTERN.LOCAL
        .intern.local = INTERN.LOCAL

Apache vhost มีลักษณะดังนี้:

<VirtualHost *:443>
    ServerName sub.domain.com
    ServerAdmin [email protected]
    DocumentRoot /var/www/page

    <Directory /var/www/page>
     AllowOverride All
    </Directory>

    SSLEngine on
    SSLCertificateFile /etc/apache2/ssl/wildcart-zert.crt
    SSLCertificateKeyFile /etc/apache2/ssl/wildcart-key.key

<IfModule !mod_auth_gssapi.c>
    LoadModule auth_kerb_module /usr/lib/apache2/modules/mod_auth_gssapi.so
</IfModule>

LimitRequestFieldSize 32768
  <Location "/">
 AuthName [email protected]
 AuthType GSSAPI
 GssapiBasicAuth On
 GssapiCredStore keytab:/etc/apache2/krb5/kerbkey.keytab
 Require valid-user
  </Location>

    ErrorLog ${APACHE_LOG_DIR}/page-ssl_error.log
    CustomLog ${APACHE_LOG_DIR}/page-ssl_access.log combined
</VirtualHost>

ปัญหาตอนนี้คือ ถ้าฉันเปิดใช้งาน vhost config แบบนี้ เมื่อฉันเรียกหน้าhttps://sub.domain.comฉันจะได้รับป๊อปอัปของเบราว์เซอร์เพื่อป้อนชื่อผู้ใช้และรหัสผ่านเสมอ และไม่ว่าฉันจะพิมพ์อะไรที่นี่ ฉันไม่สามารถไปที่หน้าเว็บและได้รับข้อผิดพลาด:

Unauthorized
This server could not verify that you are authorized to access the document requested. Either you supplied the wrong credentials (e.g., bad password), or your browser doesn't understand how to supply the credentials required.

Apache/2.4.41 (Ubuntu) Server at sub.domain.com Port 443

บันทึกข้อผิดพลาด apache แสดงรายการนี้:

[auth_gssapi:error] [pid 1632875] [client x.x.x.x:65394] GSS ERROR In Negotiate Auth: gss_accept_sec_context() failed: [An unsupported mechanism was requested (Unknown error)]
answer

บันทึกข้อผิดพลาด apache แสดงรายการนี้:

ข้อมูลรับรองการเข้าสู่ระบบไม่ถูกต้อง:

[auth_gssapi:error] [pid 945597] [client x.x.x.x:60415] GSS ERROR In Basic Auth: gss_acquire_cred_with_password() failed: [Unspecified GSS failure.  Minor code may provide more information (Preauthentication failed)]

ข้อมูลรับรองการเข้าสู่ระบบที่ถูกต้อง:

[auth_gssapi:error] [pid 945593] [client x.x.x.x:63197] GSS ERROR gss_init_sec_context(): [Unspecified GSS failure.  Minor code may provide more information (Server not found in Kerberos database)]