标签归档:ssl

apache启用ssl安全访问

首先申请 ssl证书,可以在 腾讯云阿里云利用Let’s Encrypt创建 。这里以 腾讯云 为例。

  1. 启用 ssl 模块
sudo a2enmod ssl
  1. 将得到的证书文件放到确定的目录,如统一放在 /etc/apache2/ssl
  2. 就地复制 default-ssl.conf ,然后修改新文件中的 域名DocumentRoot证书路径,如:
<IfModule mod_ssl.c>
        <VirtualHost *:443>
                ServerAdmin webmaster@localhost
                ServerName domain.com

                DocumentRoot /var/www/html

                ErrorLog ${APACHE_LOG_DIR}/domain.com-ssl-error.log
                CustomLog ${APACHE_LOG_DIR}/domain.com-ssl-access.log combined

                SSLEngine on

                SSLCertificateFile      /etc/apache2/ssl/2_domain.com.crt
                SSLCertificateKeyFile /etc/apache2/ssl/3_domain.com.key
                SSLCertificateChainFile /etc/apache2/ssl/1_root_bundle.crt

                #SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire
                <FilesMatch "\.(cgi|shtml|phtml|php)$">
                                SSLOptions +StdEnvVars
                </FilesMatch>
                <Directory /usr/lib/cgi-bin>
                                SSLOptions +StdEnvVars
                </Directory>
        </VirtualHost>
</IfModule>
  1. 修改站点根目录下 .htaccess 文件,添加以下代码,实现 http 自动跳转到 https:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteCond %{SERVER_PORT} !^443$
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R=301,L]
</IfModule>