Apache2 Yêu cầu tất cả các cấp được cấp không hoạt động


11

Tôi có bản cài đặt Apache2 mới trong thử nghiệm Debian và định cấu hình máy chủ ảo trong thư mục như sau:

<Directory "/path/to/project">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Require all granted
</Directory>

Tuy nhiên, nó hiển thị cho tôi một lỗi 403 Cấm khi tôi truy cập và nhật ký lỗi hiển thị:

[Mon Sep 23 22:07:57.249276 2013] [authz_core:debug] [pid 8599] mod_authz_core.c(802): [client 127.0.0.1:49057] AH01626: authorization result of Require all denied: denied
[Mon Sep 23 22:07:57.249349 2013] [authz_core:debug] [pid 8599] mod_authz_core.c(802): [client 127.0.0.1:49057] AH01626: authorization result of <RequireAny>: denied
[Mon Sep 23 22:07:57.249361 2013] [authz_core:error] [pid 8599] [client 127.0.0.1:49057] AH01630: client denied by server configuration: /path/to/project/some_file

Tại sao nó hiển thị "kết quả của Yêu cầu tất cả bị từ chối: bị từ chối" nếu tôi đang sử dụng "Yêu cầu tất cả được cấp" ?

Các tệp này có thể được đọc bởi bất kỳ người dùng nào và chỉ trong trường hợp tôi đã cố gắng thay đổi chủ sở hữu thành Apache (dữ liệu www) mà không gặp may. Ngoài ra, máy chủ mặc định http://localhosthoạt động bình thường và phpmyadmin http://localhost/phpmyadmincũng hoạt động.

Tất cả trợ giúp tôi tìm thấy trên Internet là về việc thay thế chỉ thị Đặt hàng bằng Yêu cầu. Tôi đã làm điều đó. Điều gì có thể là vấn đề bây giờ?


Có vẻ đúng với tôi. Bạn có chắc chắn rằng chúng không phải là một số chỉ thị khác cụ thể hơn với Yêu cầu bị từ chối không?
Richard Salts

Câu trả lời:


5

Đây là hai điều cần thử:

1) Chạy apachectl -tđể kiểm tra cú pháp của tập tin của bạn là hợp lệ.

2) Chạy apachectl -Sđể hiển thị tập tin nào đang được phân tích cú pháp.

Ví dụ: bạn có thể đang chỉnh sửa /usr/local/etc/apache2/2.4/httpd.conf và điều đó có đúng không? ... nhưng nếu bạn chạy apachectl -S bạn có thể thấy:

VirtualHost configuration:
*:80                   localhost (/private/etc/apache2/extra/httpd-vhosts.conf:23)

I E. Máy chủ ảo đang ghi đè httpd.conf của bạn và có thể chứa chính Require all deniedhoặc tương tự.


3

Bạn đã thiết lập ủy quyền, nhưng không có xác thực. Vì vậy, trong khi 'Yêu cầu tất cả được cấp' sẽ cung cấp cho tất cả người dùng được xác thực quyền truy cập, người dùng của bạn không thực sự xác thực.


9
Vậy bạn nên thiết lập xác thực ở đâu? Không rõ lắm ...
edi9999

2
Trong khi kỹ thuật chính xác, điều này không trả lời câu hỏi. Require all grantedđặc biệt cho phép tất cả truy cập và không cần bất kỳ xác thực. Không có điểm nào để xác thực khi bạn ẩn dụ mở toang cánh cửa.
Martijn Heemels

2

Vì bạn đang sử dụng AllowOverride Allchỉ thị, bạn cũng có thể có một .htaccesstệp /path/to/project/. Điều này có thể chứa một chỉ thị overriden.

Kiểm tra thêm nếu bạn không có một số tham số khác trong Vhost cho ví dụ.


Tôi đã vật lộn với lỗi này. Sau khi xem xét tất cả các tệp cấu hình Apache, tôi tìm thấy tệp .htaccess có nội dung không hợp lệ. Không có tin nhắn nào chỉ vào điều này.
Dustin Butler

1

Sau khi cài đặt Wamperver 32, tôi cũng gặp vấn đề tương tự khi bị Apache từ chối.

Tôi đã kiểm tra và cố gắng sửa đổi httpd.conftệp theo nhiều cách trong 3 ngày mà không gặp may, đi khắp các hướng dẫn và diễn đàn Internet của Apache với lỗi nổi tiếng:

AH01630: máy khách bị từ chối bởi cấu hình máy chủ

Tôi khá chắc chắn rằng tôi đã không xác định bất kỳ Virtualhost nào và không có cái nào được nhìn thấy trong tệp httpd.conf.

Cuối cùng, tôi đã cấu hình máy chủ cho tệp lỗi "gỡ lỗi", điều này mang lại cho tôi thông báo thú vị hơn:

AH01626: kết quả ủy quyền của Yêu cầu địa phương: bị từ chối

mà lần lượt dẫn tôi đến bài viết này.

Và ở đó, nó được ẩn trong C:\wamp\bin\apache\apache2.4.18\conf\extra\httpd-vhosts.conftệp: một Virtualhost không mong muốn với một "Yêu cầu cục bộ" rõ ràng, tất nhiên đã từ chối tất cả các truy vấn của tôi từ bên ngoài máy chủ.

Bây giờ, tôi đã xóa tệp này cho đến khi tôi có thể cần bất kỳ Virtualhost nào và nó hoạt động tốt. Cuối cùng, tôi thấy khá lạ khi Wamperver không chỉ cấu hình trước tệp này mà không thông báo cho người dùng mà còn đặt giá trị mặc định để "máy chủ" không thể phục vụ bất cứ điều gì.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.