# 如何設置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. 根據提示輸入對應的內容,如圖所示

> 第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)
- 后記