Apache简单配置SSL的方法(Ubuntu20.04+HTTPS)

前言

本教程只是简单配置下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位的密钥和证书

后记

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

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

### 设置和运行Web服务器于Ubuntu 20.04 #### 使用Apache HTTP Server作为Web服务器 安装Apache可以通过更新APT包索引并安装apache2包完成。这使得可以在Ubuntu系统上快速部署网页和服务[^1]。 ```bash sudo apt update sudo apt install apache2 ``` 为了验证Apache是否成功安装以及其状态,可以使用`systemctl`命令: ```bash sudo systemctl status apache2 ``` 如果一切正常,浏览器访问该机器的IP地址应该能看到默认的Apache欢迎页面。 #### 配置防火墙允许HTTP流量 UFW(Uncomplicated Firewall),即简易防火墙,默认可能阻止来自外部网络的连接请求。为了让外界能够通过HTTP协议访问到Web服务器,需要调整防火墙规则以开放80端口。 ```bash sudo ufw allow 'Apache Full' ``` 此操作会修改防火墙策略,确保常规HTTP及HTTPS通信畅通无阻。 #### 利用SSL/TLS加密网站传输数据 考虑到安全性,在生产环境中通常建议启用HTTPS支持。虽然提及了利用OpenSSL手动创建自签名证书的方式,更推荐的做法是借助Let's Encrypt这样的免费自动化认证机构获取可信的SSL证书,并将其集成至Apache配置文件中实现安全链接。 对于希望简化流程的情况,还可以考虑采用Certbot工具配合Apache插件自动处理证书申请与续期工作。 ```bash sudo apt-get install certbot python3-certbot-apache sudo certbot --apache -d yourdomain.com -d www.yourdomain.com ``` 上述指令不仅完成了证书颁发过程,还同步更改了Apache站点配置以便立即生效TLS保护措施。 #### Docker容器化解决方案简介 除了传统方式搭建LAMP/LEMP栈外,现代开发运维实践中越来越流行的是基于Docker容器技术构建可移植性强的应用环境。特别是当面对复杂依赖关系或者多版本共存需求时,这种方式展现出极大优势。例如,添加Docker官方GPG密钥确保下载渠道的安全性就是一个很好的实践案例[^2]。 ```bash curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg echo \ "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null ``` 随后按照标准步骤继续安装Docker Engine本身及其配套组件,进而探索更多关于如何将Web应用打包成镜像并通过Compose编排多个服务实例的可能性。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

꧁白杨树下꧂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值