Ubuntu 20.04
1. Apache2默认安装的时候,ssl模块是不启用的。开启命令:
$ sudo apt install apache2 #安装
$ sudo a2enmod ssl #开启ssl模块 $ sudo a2ensite default-ssl #开启default-ssl站点
$ sudo systemctl restart apache2 #重启服务
2. 检查/etc/apache2/ports.conf里面的443端口设置,默认应该都是有配置的。如果没有的话可自行添加:
<IfModule ssl_module> Listen 443 </IfModule> <IfModule mod_gnutls.c> Listen 443 </IfModule>
3. 查看配置文件/etc/apache2/sites-enabled/default-ssl.conf里面关于秘钥部分的配置:
# A self-signed (snakeoil) certificate can be created by installing # the ssl-cert package. See # /usr/share/doc/apache2/README.Debian.gz for more info. # If both key and certificate are stored in the same file, only the # SSLCertificateFile directive is needed. SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
通过注释信息可以看到,如果安装了ssl-cert这个包,系统会默认提供一个自签名的证书用于测试,所以无需做任何修改即可进行https访问测试。
$ sudo apt install ssl-cert $ sudo systemctl reload apache2
证书这块是较为复杂的部分,如果是开放性站点,需要去权威机构申请证书才行;
如果是局域性测试,可以自己通过openssl创建自签名的证书(网上有很多介绍资料,不赘述)。
当然就使用ssl-cert默认提供的这个最省事,无需做任何操作即可通过https://localhost查看到Apache2的网站内容。