Tôi đã định cấu hình Apache HTTPD làm proxy ngược (cho SSL) cho phiên bản Artifactory của mình và hiện tôi đang cố gắng để HTTP SSO hoạt động trên đó.
Sử dụng cấu hình bên dưới, tôi đã tự động đăng nhập thành công từ máy của mình. Tuy nhiên, khi tôi chạy Chrome ở chế độ Ẩn danh (để tắt chuyển tiếp Kerberos), hành vi này trở nên không mong muốn.
Điều tôi muốn xảy ra là người dùng được đưa đến trang đăng nhập tiêu chuẩn của Artifactory, tại /ui/đăng nhập
. Tuy nhiên, điều thực sự xảy ra là trình duyệt sẽ nhắc cửa sổ tên người dùng và mật khẩu tích hợp sẵn của nó.
Các giải pháp khác mà tôi đã thấy trong nghiên cứu của mình dường như dựa trên việc xác thực Kerberos không thành công hoặc người dùng nhấn hủy tại cửa sổ này. Thay vào đó, những gì tôi đang cố gắng phục vụ là người dùng của tôi duyệt đến Artifactory từ một máy không tham gia miền, không có vé Kerberos. Tôi muốn những người dùng này được hiển thị trang đăng nhập tiêu chuẩn Artifactory đẹp mắt hơn.
# httpd -v
Phiên bản máy chủ: Apache/2.4.6 (Red Hat Enterprise Linux)
Máy chủ được tạo: ngày 8 tháng 10 năm 2020 21:27:40
<Location />
AuthType Kerberos
AuthName "Intranet"
KrbMethodNegotiate On
KrbMethodK5Passwd Off
KrbAuthRealms DOMAIN.EXAMPLE.ORG
KrbLocalUserMapping On
Krb5KeyTab /etc/httpd/artf_ldap.keytab
Require valid-user
KrbAuthoritative On
ErrorDocument 401 "<html><meta http-equiv=\"refresh\" content=\"0;url=/ui/login\"></html>"
RewriteEngine On
RewriteCond %{REMOTE_USER} (.+)
RewriteRule . - [E=RU:%1]
RequestHeader set REMOTE_USER %{RU}e
</Location>
Các LỗiTài liệu 401
và KrbMethodK5Passwd Off
các phần là nỗ lực của tôi trong việc tự giải quyết vấn đề này.