Apache2 启用SSL的方法

  1. 几个相关的指令
    (1) a2enmod/a2dismod :enable/disable模块
    (2)a2ensite/a2dissite: enable/disable site
  2. 证书的获取/生成
    因为自己生成的证书是不会被各浏览器信任的,所以推荐使用免费证书,常用的免费证书申请渠道有:
    (a):Let’s Encrypt: https://letsencrypt.org/
    (b):freeSSL: https://freessl.org/
    以freeSSL为例,申请成功后,会产生full_chain.pem private.key这两个文件,分别为证书和私钥文件。
  3. 开启Apache2的SSL 模块和SSL site
    sudo a2enmode ssl
    sudo a2ensite default-ssl
  4. 编辑/etc/apache2/sites-enabled/default-ssl.conf
    并添加如下内容:
    SSLEngine on
    SSLCertificateFile /PATH_TO_FULL_CHAIN/full_chain.pem
    SSLCertificateKeyFile /PATH_TO_PRIV_KEY/private.key
    其中PATH_TO_FULL_CHAIN和PATH_TO_PRIV_KEY分别为证书和私钥所在路径,根据实际情况修改即可
  5. 设置http到https的重定向
    在浏览器输入域名时,浏览器默认是访问http的80端口的,如果要达到输入域名自动通过https访问网站的话,需要修改/etc/apache2/sites-enabled/000-default.conf,添加以下内容:
    RewriteEngine on
    RewriteCond %{HTTPS} !=on
    RewriteRule ^(.*) https://%{SERVER_NAME}$1 [L,R]
    这里需要启用apache2的rewrite 模块,如果没有启用的话,是不能work的,可以通过以下命令启用:
    sudo a2enmod rewrite
  6. 重启Apache2 service
    sudo service apache2 restart或者sudo /etc/init.d/apache2 restart

发表评论

电子邮件地址不会被公开。 必填项已用*标注