开启apache2的ssl访问功能

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的网站内容。

原文地址:https://www.cnblogs.com/wzc0066/p/14549439.html