# 如何设置HTTPS访问?
在设置https访问之前,请开启安全组的443端口,如果不开启,https访问是不可用的。
这里提供两种https的配置方案,请根据实际情况选择:
## 配置方式一:自己准备好了证书
如果您已经申请了证书(请保证证书可用),请参考如下的配置方式:
1. 将证书上传到服务器证书目录:/data/cert(没有cert目录可以自己新建)
2. 在/etc/httpd/conf.d目录下新建一个https配置文件,假设命名为mydomain-ssl.conf。
3. 拷贝下面的https配置文件模板到mydomain-ssl.conf文件中,并保存
```
<VirtualHost *:443>
ServerName www.mydomain.com
DocumentRoot "/data/wwwroot/default"
#ErrorLog "logs/www.mydomain.com-error_log"
#CustomLog "logs/www.mydomain.com-access_log" common
<Directory "/data/wwwroot/default">
Options Indexes FollowSymlinks
AllowOverride All
Require all granted
</Directory>
SSLEngine on
SSLCertificateFile /data/cert/www.mydomain.com.crt
SSLCertificateKeyFile /data/cert/www.mydomain.com.key
SSLCertificateChainFile /data/cert/root_bundle.crt
</VirtualHost>
```
4. 修改配置文件中相关项,并保存
ServerName #主域名,务必修改
ServerAlias #副域名,可选项
DocumentRoot #网站路径,务必填写网站实际路径,例如:/data/wwwroot/default/wordpress
Directory #同上
SSLCertificateFile #证书,务必填写网站实际路径和名称
SSLCertificateKeyFile #证书私钥,务必填写网站实际路径和名称
SSLCertificateChainFile #证书链(CA文件),务必填写网站实际路径和名称
> 注意:证书的后缀一般是:.crt或者 .pem,私钥的后缀是:.key,填写错误会导致服务无法启动
5. 重启服务
```
#~ systemctl restart httpd
```
## 配置方式二:自动生成免费证书
本LAMP环境提供了针对于已经配置好的http网站实现免费的证书自动生成方式,从而实现https访问的解决方案。步骤如下:
1. 确保网站绑定好域名
> 请确保网站的配置文件中ServerName和ServerAlias中配置有正确的解析后的域名
2. 运行命令
`certbot`
3. 根据提示输入对应的内容,如图所示
![1542853767834](http://libs.websoft9.com/Websoft9/DocsPicture/zh/lamp/certbot-websoft9.png)
> 第4步可以多选,输入的数字以逗号/空格为分隔
4. 以上步骤操作完成后,certbot将会自动配置好证书,浏览器访问域名检查是否配置成功
5. https配置成功后,设置好计划任务,输入以下命令:
> Let's Encrypt生成的证书每三个月需要续订,这里设置好计划任务自动续订证书
`echo "0 0,12 * * * python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew" >> /etc/crontab `
6. 生成的网站证书存放目录
`/etc/letsencrypt/live/`
---
## 证书FAQ
证书的申请注意事项:
* 免费证书只能用于明细域名,例如: buy.example.com,或next.buy.example.com,
* example.com是通配符域名方式,不能用于申请免费证书
* 申请证书的时候,请先解析好域名,有些证书会绑定域名对应的IP地址,即一旦申请后,IP地址不能更换,否则证书不可用
## CDN开启HTTPS
阿里云参考:https://help.aliyun.com/document_detail/27118.html
腾讯云参考:https://cloud.tencent.com/document/product/228/6295
华为云参考:https://support.huaweicloud.com/usermanual-cdn/zh-cn_topic_0064907771.html
## HTTPS访问常见问题
### 为什么设置成功,显示“与此网站建立的连接并非完全安全”?
首选明确一点即您的HTTPS设置是成功的,只是由于网站中存在包含 http访问的静态文件 或 外部链接等,导致浏览器告警您的网站并非完全安全。
- 关于本书
- 关于LAMP
- 获取一键安装包
- 表:镜像组成一览
- 附:常用账号与密码说明
- 云服务器操作
- 登录与文件管理(SFTP)
- 挂载数据盘
- 安全组设置
- 快照备份
- 基础环境使用
- Apache
- PHP
- 如何更改PHP版本?
- MySQL
- 9Panel
- 必备实操
- 如何修改Linux文件权限?
- 如何实现服务启停?
- 如何安装PHP扩展?
- 如何使用LAMP发布网站或应用?
- 如何设置SSL/HTTPS?
- 如何设置HTTP自动跳转到HTTPS页面?
- 如何设置伪静态?
- 如何实现网站迁移?
- 如何禁用IP访问
- 如何将数据转移到数据盘?
- 如何设置SMTP?
- 如何安装部署FTP?
- 如何重置数据库root密码?
- 域名配置
- 域名解析
- 域名绑定
- 安全防护
- 补丁更新
- 木马查杀
- 安全组件
- 日常维护
- 备份与恢复
- 升级
- 网站加速
- 故障处理
- 网站打不开
- 网站访问慢或不稳定
- 服务无法启动
- 数据库连不上
- 资源占用高
- 常见应用安装示例(集)
- Concrete5
- Concrete5自定义安装
- Concrete5常见问题
- chanzhiEPS(蝉知)
- chanzhiEPS自定义安装
- chanzhiEPS常见问题
- CmsEasy
- CmsEasy自定义安装
- CmsEasy常见问题
- Drupal
- Drupal自定义安装
- Drupal实用教程
- Drupal常见问题
- DokuWiki
- DokuWiki自定义安装
- dedeCMS(织梦)
- dedeCMS自定义安装
- EmpireCMS(帝国)
- EmpireCMS自定义安装
- EmpireCMS常见问题
- HDwiki
- HDwiki自定义安装
- HDwiki常见问题
- Tiki
- Tiki自定义安装
- Tiki常见问题
- Joomla
- Joomla自定义安装
- Joomla实用教程
- Joomla常见问题
- Lcm(里程密)
- Lcm(里程密)自定义安装
- MyBB
- MyBB自定义安装
- OrangeHRM
- OrangeHRM自定义安装
- Osclass
- Osclass自定义安装
- ProcessWire
- ProcessWire自定义安装
- PmWiki
- PmWiki自定义安装
- PHPWind
- PHPWind自定义安装
- PHPWind如何发送邮件
- Typecho
- Typecho自定义安装
- Typecho常见问题
- WeCenter
- WeCenter自定义安装
- WeCenter如何发送邮件
- Weengine(微擎)
- Weengine自定义安装
- Weengine常见问题
- XCart
- XCart自定义安装
- ZBlog
- ZBlog自定义安装
- 常见开发框架
- ThinkPHP
- Laravel
- 配套视频教程
- 附:常见命令(Linux)
- 后记