本文记录如何启用ssl也就是使你的apache支持https协议
执行
sudo a2enmod ssl
看到如下提示
Enabling module ssl.
See /usr/share/doc/apache2.2-common/README.Debian.gz on how to configure SSL and create self-signed certificates.
Run '/etc/init.d/apache2 restart' to activate new configuration!
证明成功启用ssl模块
下面我们要生成ssl证书,需要用到openssl
执行
sudo apt-get install openssl
安装成功后执行如下命令创建key
openssl genrsa -des3 -out server.key 1024
期间会提示输入密码和确认密码
下面创建CSR 证书签发请求
openssl req -new -key server.key -out key.csr
系统会向你索取一些信息,简单的英文,逐一填写好就是了
执行如下命令获取server.key和server.csr的路径
locate *server.key*
我系统中两个文件在/etc/cups/ssl中
进入该目录
cd /etc/cups/ssl
执行如下两条命令安装证书
sudo cp server.crt /etc/ssl/certs
sudo cp server.key /etc/ssl/private
接下来修改虚拟主机配置,让其启用ssl,编辑/etc/apache2/sites-available/default,在<VirtualHost>中,DocumentRoot一行的下方加入下面内容:
SSLEngine on
SSLOptions +StrictRequire
SSLCertificateFile /etc/ssl/certs/server.crt
SSLCertificateKeyFile /etc/ssl/private/server.key
重启apache
/etc/init.d/apache2 restart
测试一下,是不是会返回错误
安全连接失败
连接localhost时发生错误。
SSL 接收到一个超出最大准许长度的记录。
(错误码: ssl_error_rx_record_too_long)
编辑/etc/apache2/sites-available/default 把
<VirtualHost *:80>
改为
<VirtualHost *>
重启apache试试,成功了吧?之前到底为什么会提示安全连接失败我不知道,猜测是虚拟主机配置的问题,修改之后apache启动会有一个 warn,不过不影响什么。
Apache https(SSL)启用
最新推荐文章于 2025-01-31 20:23:43 发布