如何设置SSL/HTTPS?

在设置https访问之前,请开启安全组的443端口,如果不开启,https访问是不可用的。

这里提供两种https的配置方案,请根据实际情况选择:

配置方式一:自己准备好了证书

如果您已经申请了证书(请保证证书可用),请参考如下的配置方式:

  1. 将证书上传到服务器证书目录:/data/cert(没有cert目录可以自己新建)

  2. 在/etc/httpd/conf.d目录下新建一个https配置文件,假设命名为mydomain-ssl.conf。

  3. 拷贝下面的https配置文件模板到mydomain-ssl.conf文件中,并保存

    <VirtualHost *:443>
    ServerName  www.mydomain.com
    DocumentRoot "/data/wwwroot/default"
    #ErrorLog "logs/www.mydomain.com-error_log"
    #CustomLog "logs/www.mydomain.com-access_log" common
    <Directory "/data/wwwroot/default">
    Options Indexes FollowSymlinks
    AllowOverride All
    Require all granted
    </Directory>
    SSLEngine on
    SSLCertificateFile  /data/cert/server.crt
    SSLCertificateKeyFile  /data/cert/server.key
    SSLCertificateChainFile  /data/cert/server-ca.crt
    </VirtualHost>
  4. 修改配置文件中相关项,并保存 ServerName #主域名,务必修改 ServerAlias #副域名,可选项 DocumentRoot #网站路径,务必填写网站实际路径,例如:/data/wwwroot/default/wordpress Directory #同上 SSLCertificateFile #证书,务必填写网站实际路径 SSLCertificateKeyFile #证书私钥,务必填写网站实际路径 SSLCertificateChainFile #证书链(CA文件),务必填写网站实际路径 注意:证书的后缀一般是:.crt或者 .pem,私钥的后缀是:.key

  5. 重启服务

    #~ systemctl restart httpd

配置方式二:自动生成免费证书

本LAMP环境提供了针对于已经配置好的http网站实现免费的证书自动生成方式,从而实现https访问的解决方案。步骤如下:

  1. 首先假设通过 http://域名/ 可以正常访问网站(假设域名是test.websoft9.cn,配置文件vhost.conf)

  2. 运行certbot命令开始为网站配置证书

  3. 运行成功会有提示

注:当前Cerbot官方提示此插件暂停使用

证书FAQ

证书的申请注意事项:

  • 免费证书只能用于明细域名,例如: buy.example.com,或next.buy.example.com,

  • example.com是通配符域名方式,不能用于申请免费证书

  • 申请证书的时候,请先解析好域名,有些证书会绑定域名对应的IP地址,即一旦申请后,IP地址不能更换,否则证书不可用

Last updated