2008-08-12 34 views
7

Cách tốt nhất để viết lại một cách rõ ràng một URL qua kết nối SSL với Apache 2.2 là gì?Sử dụng mod_rewrite cho Máy chủ ảo Mimic SSL?

Apache 2 không hỗ trợ nhiều máy chủ ảo dựa trên tên cho kết nối SSL và tôi đã nghe nói rằng mod_rewrite có thể trợ giúp việc này. Tôi muốn làm điều gì đó như thế này:

Tôi đã thiết lập máy chủ để các trang web có thể được truy cập bởi

https://secure.example.com/dbadmin

nhưng tôi muốn có điều này như https://dbadmin.example.com

thế nào Tôi có thiết lập nó để quy tắc Rewrite sẽ viết lại dbadmin.example.com thành secure.example.com/dbadmin, nhưng không hiển thị viết lại trên thanh địa chỉ của máy khách (tức là máy khách sẽ vẫn thấy dbadmin.example.com) , tất cả trên https?

Trả lời

3

Định cấu hình một VirtualHost duy nhất để phân phối cả secure.example.com và dbadmin.example.com (làm cho nó chỉ là VirtualHost *: 443 đạt được điều này). Sau đó bạn có thể sử dụng để điều chỉnh mod_rewrite URI cho các yêu cầu để dbadmin.example.com:

<VirtualHost *:443> 
    ServerName secure.example.com 
    ServerAlias dbadmin.example.com 

    RewriteEngine on 
    RewriteCond %{SERVER_NAME} dbadmin.example.com 
    RewriteRule !/dbadmin(.*)$ /dbadmin$1 
</VirtualHost> 

chứng chỉ SSL của bạn sẽ cần phải có giá trị cho cả secure.example.com và dbadmin.example.com. Nó có thể là một chứng chỉ ký tự đại diện như đã đề cập bởi Terry Lorber, hoặc bạn có thể sử dụng trường subjectAltName để thêm tên máy chủ bổ sung.

Nếu bạn gặp sự cố, trước tiên hãy thiết lập trên <VirtualHost *> và kiểm tra xem nó có hoạt động không có SSL hay không. Kết nối SSL và chứng chỉ là một lớp phức tạp riêng biệt mà bạn có thể thiết lập sau khi ghi đè URI đang hoạt động.

0

Có Apache mod_rewrite, hoặc bạn có thể cài đặt apache chỉ đạo https://dbadmin.example.com để path/to/example.com/dbadmin trên máy chủ

<VirtualHost *> 
ServerName subdomain.domain.com 
DocumentRoot /home/httpd/htdocs/subdomain/ 
</VirtualHost> 
2

Trừ khi chứng chỉ SSL của bạn là "đại diện" hoặc multi-site tốt, tôi không nghĩ rằng điều này sẽ hiệu quả. Ghi đè sẽ hiển thị trong trình duyệt và tên trong thanh địa chỉ phải hợp lệ đối với chứng chỉ hoặc người dùng của bạn sẽ thấy lỗi bảo mật (mà họ luôn có thể chấp nhận và tiếp tục, nhưng điều đó không giống như những gì bạn muốn).

Thêm here.

Các vấn đề liên quan