前言

本教程只是简单配置下apache2,未深入测试,可供有需要小伙伴参考下

一、生成自签名证书

笔者设置时发现,ubuntu20.04的目录中本来就有不少证书,可以不生成,但建议还生成自己的证书

1.创建私钥文件

openssl genrsa -des3 -out server.key 2048

去掉-des3 就不会需要密码,建议加上。

2.创建CSR(Certificate Signing Request)文件

openssl req -new -key server.key -out server.csr

输入密码之后还需要填写一些信息:

信息注解
Country Name (2 letter code) [AU]:CN ←输入国家代码
State or Province Name (full name) [Some-State]:SHANGHAI ← 输入省名
Locality Name (eg, city) []:SHANGHAI ←输入城市名
Organization Name (eg, company) [Internet Widgits Pty Ltd]:COMPANY ← 输入公司名
Organizational Unit Name (eg, section) []:RSA ← 输入组织单位名
Common Name (eg, YOUR name) []:virtual-machine ← 输入主机名(想要开启https的主机名)
Email Address []:123@163.com ←输入电子邮箱地址

3.自己签发证书

openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt

若以上步骤执行正常,当前目录会生成server.key、server.csr、server.crt三个文件

复制到相应目录

sudo cp server.crt /etc/ssl/certs
sudo cp server.key /etc/ssl/private

二、设置端口

apache2的配置文件为/etc/apache2/ports.conf

sudo gedit /etc/apache2/ports.conf

 笔者禁用了http的80端口,并将https的监听修改为8080

三、修改ssl配置文件

sudo cp /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-enabled/default-ssl

gedit /etc/apache2/sites-enabled/default-ssl.conf

复制一份配置文件,并打开修改

 将端口号修改为https监听的端口号

 

 指定已经生成的crt证书和私钥位置

修改完成后,重启服务

service apache2 restart

若成功启动服务,就可以使用https://localhost:8080/zentao访问了

 到此,SSL配置完成

可能会遇到的问题

查看下apache2的日志

 原因:使用的私钥长度太短了,需要高于1024位

解决方法:重新生成一个2048位的密钥和证书

后记

终于写完了,虽然并不复杂

因疫情原因,今晚开了好长时间的作战会议,本文是会后临时整理的,可能不周,期待疫情早点结束

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐