如何设置SSL/HTTPS?

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

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

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

  2. 打开配置文件:C:\websoft9\phpStudy\PHPTutorial\Apache\conf\extra\httpd-vhosts.conf

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

    <VirtualHost *:443>
       ServerName www.mydomain.com
       # ServerAlias other.mydomain.com
       DocumentRoot "C:\websoft9\phpStudy\PHPTutorial\WWW"
       ErrorLog " logs\mydomain.com_error_apache.log"
       CustomLog "logs\mydomain.com_error_apache.log" common
       <Directory "C:\websoft9\phpStudy\PHPTutorial\WWW">
       Options Indexes FollowSymlinks
       AllowOverride All
       Require all granted
       </Directory>
        SSLEngine on
        SSLCertificateFile  C:\wwwroot\cert\server.crt
        SSLCertificateKeyFile  C:\wwwroot\cert\server.key
        SSLCertificateChainFile  C:\wwwroot\cert\server-ca.crt
     </VirtualHost>
    
  4. 修改配置文件中相关项,并保存。
    ServerName 为主域名,务必修改
    ServerAlias 为副域名,可选项
    DocumentRoot 网站路径,务必填写网站实际路径
    Directory 网站路径,务必填写网站实际路径
    SSLCertificateFile 证书,务必填写实际存放路径
    SSLCertificateKeyFile 证书私钥,务必填写实际存放路径
    SSLCertificateChainFile 证书链(CA文件),务必填写实际存储路径

注意:证书的后缀一般是:.crt或者 .pem,私钥的后缀是:.key

  1. 保存httpd-vhosts.conf,然后重启Apache服务。

证书FAQ

证书的申请注意事项:

  • 免费证书只能用于明细域名,例如: buy.example.com,或next.buy.example.com,
  • example.com是通配符域名方式,不能用于申请免费证书
  • 申请证书的时候,请先解析好域名,有些证书会绑定域名对应的IP地址,即一旦申请后,IP地址不能更换,否则证书不可用