Tôi lưu trữ một cookie trong một tệp và muốn hạn chế quyền truy cập đối với những người dùng có bộ cookie cụ thể đó (với tên được chỉ định) và chuyển hướng những người khác (từ bất kỳ trang nào trong trang web) đến thư mục gốc của trang web của tôi. Vì trang web của tôi sử dụng một nút phụ trợ để xác thực người dùng (tức là để xác minh mật khẩu) nên tôi cũng muốn miễn trừ trang proxypass ("/ xác thực") và bất kỳ "trang phụ" nào tiến hành trang đó.
Một vấn đề tôi gặp phải với các loại "danh sách trắng" này là chúng thường không bao gồm toàn bộ trang web (bao gồm cả tên miền phụ) và không hoạt động đối với các thư mục đang được lập chỉ mục.
Nhật ký lỗi ${APACHE_LOG_DIR}/error.log
Nhật ký tùy chỉnh ${APACHE_LOG_DIR}/access.log kết hợp
Công cụ SSL bật
SSLCertificateFile /etc/apache2/ssl/site.com.pem
SSLCertificateKeyFile /etc/apache2/ssl/site.com.key
</Máy chủ ảo>
<Máy chủ ảo *:443>
ServerName site.com
DocumentRoot /var/www/site.com/html
<Thư mục /var/www/site.com/html/files>
Tùy chọn + Chỉ mục
AllowOverride All
</Thư mục>
Yêu cầu proxy tắt
ProxyPass/ủy quyền http://localhost:3001
ProxyPassReverse/ủy quyền http://localhost:3001
</Máy chủ ảo>
<Máy chủ ảo *:443>
Tên máy chủphim.site.com
Yêu cầu proxy tắt
ProxyPass / http://localhost:3000/
ProxyPassReverse / http://localhost:3000/
</Máy chủ ảo>
<Máy chủ ảo *:443>
Tên máy chủ mail.site.com
DocumentRoot /var/www/site.com/roundcube
ErrorLog ${APACHE_LOG_DIR}/roundcube-error.log
Nhật ký tùy chỉnh ${APACHE_LOG_DIR}/roundcube-access.log kết hợp
<Thư mục /var/www/roundcube>
Tùy chọn -Chỉ mục
AllowOverride All
Lệnh cho phép, từ chối
cho phép từ tất cả
</Thư mục>
</Máy chủ ảo>
Chỉnh sửa:
Chỉ cần làm rõ, tôi biết tôi có thể làm điều gì đó như sau để đạt được những gì tôi đang theo đuổi (ở một mức độ nào đó):
RewriteEngine bật
RewriteCond %{HTTP_COOKIE} !MYCOOKIE
RewriteRule ^/myhome/content/ - [F]
Nhưng làm cách nào để đảm bảo điều này có tác dụng trên mọi Virtualhost (tức là trên mọi tên miền phụ) và cũng đọc một cookie từ tệp để tôi có thể thay đổi cookie mà không cần phải khởi động lại apache.
Cảm ơn bạn!