Tôi muốn thêm xác thực cơ bản cho trang web proxy ngược của Apache đang chạy trên máy chủ Ubuntu 12.04.1.Vấn đề xác thực cơ bản của Apache với proxy ngược
Ứng dụng web là Jenkins đang chạy trên vùng chứa Java EE.
tôi thêm dưới đây cấu hình trong httpd.conf,
ProxyPass /jenkins/ http://localhost:8080/jenkins/¬
ProxyPassReverse /jenkins/ http://localhost:8080/jenkins/¬
ProxyRequests Off¬
ProxyPreserveHost On¬
¬
<Proxy http://localhost:8080/jenkins*>¬
Order deny,allow¬
Deny from all¬
▸ AllowOverride AuthConfig¬
▸ AuthType Basic¬
AuthName "jenkins"¬
▸ AuthBasicProvider file¬
AuthUserFile /etc/apache2/passfile¬
▸ Require valid-user¬
▸ Satisfy any¬
</Proxy>
Khi tôi sử dụng sai mật khẩu hoặc không tồn tại tên người dùng cho xác thực, tôi có thể tìm thấy bên dưới thông điệp trong error.log của apache,
[Sat 27 tháng 10 17:51:59 2012] [lỗi] [khách hàng 222.128.175.95] dùng kane: xác thực thất bại cho "/ Jenkins /": Mật khẩu không phù hợp [Sat 27 tháng 10 17:52:04 2012] [lỗi] [khách hàng 222.128.175.95] dùng Aladdin không tìm thấy: /Jenkins/
Không có thông báo sẽ được đăng nhập khi sử dụng người dùng phải và mật khẩu trong passfile. Mặc dù tôi nhập đúng người dùng và mật khẩu trong trình duyệt web, hộp thoại xác thực sẽ nhắc lại. Tôi cũng tìm thấy bên dưới đầu ra trong access.log của apache,
222.128.175.95 - kane [27/Oct/2012: 17: 39: 54 0800] "GET/Jenkins/HTTP/1.1" 401 794 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537,4 (KHTML, như Gecko) Chrome/22.0.1229.94 Safari/537,4"
Có ai biết làm thế nào để làm cho nó hoạt động? Cảm ơn.
Cảm ơn bạn đã chia sẻ liên kết. Jenkins của tôi thực sự sử dụng OpenId để xác thực là tốt. Bởi vì giới hạn của Jenkins CLI tôi phải thực hiện một số công việc có thể được đọc bởi người dùng ẩn danh. Đó là lý do tại sao tôi muốn sử dụng xác thực cơ bản cho jenkins của tôi phía sau máy chủ Apache. Có vẻ như jenkins có xung đột giữa xác thực của nó và xác thực cơ sở Apache. Dù sao nó mang lại cho tôi một lời giải thích. – Kane
Tôi biết bài đăng này là 3 tuổi nhưng tôi đã tìm thấy nó trong khi tìm kiếm giải pháp. Nếu bạn muốn ngăn không cho Jenkins hiển thị các lời nhắc auth cơ bản vô hạn, chỉ cần thêm 'RequestHeader unset Authorization' vào cấu hình Apache của bạn. Xem giải pháp đầy đủ tại đây: http://jenkins-ci.361315.n4.nabble.com/SOLVED-Apache-SSL-Proxy-Jenkins-tp4700182p4700212.html – Alex