Điểm:0

Tomcat với giao diện người dùng HTTPD. Ứng dụng quản lý không truy cập được

lá cờ ca

Tôi có một máy chủ HTTPD thực hiện Xác thực LDAP trước máy chủ Tomcat. Ứng dụng của tôi nằm trong Tomcat.

Tôi đang ủy quyền các yêu cầu được xác thực thông qua trình kết nối AJP của tomcat cho ứng dụng của mình. Bây giờ tôi muốn đóng trình kết nối HTTP. Nhưng ứng dụng quản lý không truy cập được (báo lỗi 403).

  • Khi tôi đang truy cập http://localhost/my_app. Mọi thứ đều hoạt động tốt.
  • Khi tôi đang truy cập http://localhost/manager/ , nó báo lỗi 403.
  • Với trình kết nối HTTP đang mở, tức là http://localhost:port/manager, nó có thể truy cập được.
lá cờ in
Vui lòng cung cấp cấu hình tomcat của bạn
Vinayak avatar
lá cờ ca
Đó là cấu hình mặc định. Điều duy nhất tôi đã thêm vào là Máy chủ ảo, sử dụng ProxyPass và xác thực ldap.
Vinayak avatar
lá cờ ca
@GeraldSchneider Sẽ rất hữu ích nếu bạn có thể trả lời dựa trên cấu hình mặc định vì tôi chưa thay đổi gì cả
lá cờ cn
Bạn có thể chia sẻ cấu hình máy chủ ảo của mình không?
Vinayak avatar
lá cờ ca
ProxyPass / http://localhost:1000/ ProxyPassReverse / http://localhost:1000/ BalancerMember ajp://localhost:1009/ Tùy chọn Chỉ mục FollowSymlinks AllowOverride Không có AuthName "Xác thực Active Directory" AuthType cơ bản AuthBasicAuthoritative bật AuthBasicProvider ldap LDAPReferrals tắt AuthLDAPBindAuthoritative bật Xác thựcLDAPURL Xác thựcLDAPBindDN AuthLDAPBindPassword Yêu cầu người dùng hợp lệ
Điểm:2
lá cờ us

Đây là một phỏng đoán có giáo dục.Tôi nghĩ rằng đây có thể là trường hợp của cả phần Trình quản lý và Apache sử dụng tiêu đề xác thực HTTP để xác thực.

Khi client kết nối với http://localhost/quản lý, Apache yêu cầu thông tin đăng nhập xác thực để xác thực LDAP. Sau đó, máy khách sẽ gửi thông tin xác thực tới Apache, Apache sẽ chấp nhận các yêu cầu và chuyển nó tới phần quản lý của Tomcat.

Tuy nhiên, vì thông tin đăng nhập không phải là thông tin đã được xác định cho trình quản lý nên nó trả về lỗi 403.

Giải pháp sẽ là loại trừ /người quản lý một phần từ xác thực LDAP. Thật không may, tôi không biết làm thế nào điều đó sẽ được thực hiện trong Apache.

Vinayak avatar
lá cờ ca
Vâng, tôi cũng đã thử làm điều đó. Nhưng trang ứng dụng người quản lý không được tải đúng cách. Nó chỉ hiển thị các thành phần của trang đó. Ngoài ra, tôi đã thử cung cấp thông tin đăng nhập tương tự cho tomcatusers.xml. Sau đó, nó cũng không hoạt động.
lá cờ us
Nếu nó chỉ hiển thị mã HTML, điều đó có nghĩa là URL cơ sở của ứng dụng không được đặt đúng cách. Bạn cần tìm cài đặt cho URL gốc của ứng dụng và đảm bảo rằng đó là `http://localhost/manager`.
Điểm:1
lá cờ it

dựa trên https://stackoverflow.com/questions/5808206/how-to-fix-tomcat-http-status-403-access-to-the-requested-resource-has-been-den

có vẻ như bạn đang thiếu định nghĩa vai trò.

Trong tệp tomcat-users.xml, thêm người dùng có vai trò người quản lý :

<role rolename="manager"/>
<user username="admin" password="admin" roles="manager"/>
Vinayak avatar
lá cờ ca
Không... tôi có thể truy cập trình quản lý thông qua cổng, điều đó có nghĩa là cấu hình của tôi là chính xác. Tôi muốn biết làm thế nào/tại sao nó không thể truy cập được khi số cổng không được sử dụng

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.