Đừng thay đổi Listen 80
để 443
ở /etc/httpd/conf/httpd.conf
. SSL được cấu hình trong /etc/httpd/conf.d/ssl.conf
. Trên RHEL 6, SSL được bật và nghe theo mặc định với chứng chỉ tự ký.
Bạn có thể truy cập trang web mặc định bằng SSL chỉ bằng cách duyệt đến https://localhost
(bạn không cần thêm cổng vào cuối URL).
Nếu bạn muốn chuyển tiếp tất cả các yêu cầu HTTP đến HTTPS (đó là điều tôi tin rằng bạn đang cố gắng đạt được), bạn có thể thêm chuyển hướng vĩnh viễn hoặc sử dụng mô-đun Apache mod_rewrite
.
Cách dễ nhất và an toàn nhất là thiết lập chuyển hướng vĩnh viễn. Cho phép các máy chủ ảo được đặt tên và thêm một Redirect
lệnh vào Virtualhost trong /etc/httpd/conf/httpd.conf
.
NameVirtualHost *:80
<VirtualHost *:80>
ServerName localhost
Redirect permanent / https://localhost
</VirtualHost>
Sử dụng mod_rewrite
, bạn cũng tạo một máy chủ ảo có tên. Đây không phải là phương pháp được đề xuất, nhưng sẽ hoạt động.
NameVirtualHost *:80
<VirtualHost *:80>
# Enable the Rewrite engine
RewriteEngine On
# Make sure the connection is not already HTTPS
RewriteCond %{HTTPS} !=on
# This rewrites the URL and forwards to https
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
</VirtualHost>
Nếu bạn muốn tắt SSL, hãy bình luận những dòng này /etc/httpd/conf.d/ssl.conf
và khởi động lại Apache.
LoadModule ssl_module modules/mod_ssl.so
Listen 443
NameVirtualHost
không được chấp nhận và sẽ bị xóa trong các phiên bản tương lai của Apache. Hiện tại nó đã không còn hoạt động. 2.Listen 443
có thể gây ra sự cố nếu apache đã được cấu hình để nghe trên cổng 443 mà trên nhiều bản phân phối linux đã xảy ra. Chỉ thêm nếu bạn chắc chắn rằng dòng này không được cấu hình khác ở đâu.