申請免費https證書及nginx相關配置
標籤: https、centos7、nginx、安全評估
內容目錄
[TOC]
1、https和ssl證書相關知識
通常所說的 HTTPS 協議,就是“HTTP 協議”和“SSL/TLS 協議”的組合,“HTTP over SSL”,實際上是在原有的 HTTP 資料外面加了一層 SSL 的封裝。HTTP 協議原有的 GET、POST 之類的機制,基本上原封不動。
如果不加https,網路流量需要經過網路運營商( ISP )的線路才能到達公網。如果你使用的是明文的 HTTP,ISP 很容易就可以在你訪問的頁面中植入廣告,所以,當初設計 HTTPS 的時候,還有一個需求是“確保 HTTP 協議的內容不被篡改”。
2、申請免費的ssl證書
1、騰訊雲申請證書
騰訊雲提供一年的免費ssl證書,入口:騰訊雲 -> ssl證書管理 -> 申請證書
需注意:從2018年1月1日起,同一主域最多隻能申請20張亞洲誠信品牌免費型DV版SSL證書(一級域名及其子域名均屬於同一主域,例如 domain.com、ssl.domain.com、ssl.ssl.domain.com 都屬於同一主域)
2、手動DNS驗證
這裡選擇手動DNS驗證,確認申請
檢視證書詳情如下:
切到阿里雲平臺 -> 雲解析DNS
按照上圖證書詳情在阿里雲域名解析處新增如下一條記錄:
詳情如下:
返回騰訊雲 -> ssl控制檯
只要阿里雲那邊解析成功,騰訊雲這邊就自動成功,有時候需要等待10分鐘左右。
驗證成功如圖:
點選右側下載證書
3、Nginx配置
1、centos7系統下安裝nginx
yum install -y nginx
利用yum安裝nginx,如果出現No package nginx available,說明當前yum源缺少nginx資源,需要新增CentOS 7 Nginx yum資源庫。
sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
然後再yum install,等待安裝。
啟動nginx:
systemctl start nginx.service
centos7 開機自動啟動
systemctl enable nginx.service
2、nginx配置資訊
網站檔案存放預設目錄:
/usr/share/nginx/html
網站預設站點配置:
/etc/nginx/conf.d/default.conf
自定義Nginx站點配置檔案存放目錄:
/etc/nginx/conf.d/
Nginx全域性配置:
/etc/nginx/nginx.conf
檢視當前伺服器公網ip:
ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'
3、nginx頁面不能正常訪問排除方法
1、檢查服務端服務是否啟動成功
檢視nginx服務是否啟動
檢查80埠是否在監聽狀態
2、在服務端使用wget和curl測試下返回的是否正常
curl 127.0.0.1
出現這個說明服務端的nginx安裝正確。
3、如果還是訪問不了,檢查伺服器防火牆
systemctl status firewalld
firewall-cmd --zone=public --list-ports
如果80埠沒有開啟,則開啟80埠
firewall-cmd --zone=public --add-port=80/tcp --permanent
更新防火牆規則: firewall-cmd --reload
出現以下頁面說明nginx安裝好了。
4、centos7配置FTP服務
1、客戶端filezilla
站點管理器 - 新站點
2、伺服器開啟ftp服務(centos7)
安裝vsftpd
yum install vsftpd -y
啟動vsftpd
service vsftpd start
加入開機啟動
chkconfig vsftpd on
啟動後可以看到系統正在監聽21埠
netstat -nltp | grep 21
vsftpd的檔案說明
vsftpd.conf:主要配置檔案
ftpusers:配置禁止訪問ftp伺服器的使用者列表
user_list:配置使用者訪問控制
配置阻止匿名使用者訪問和切換根目錄
vi /etc/vsftpd/vsftp.conf
找到以下兩處修改
禁止匿名使用者
anonymous_enable=NO
檔案末尾新增
allow_writeable_chroot=YES
建立ftp使用者
useradd ftpuser
為使用者設定密碼
echo "xxx" | passwd ftpuser --stdin
限制上步建立的使用者只能通過ftp訪問
usermod -s /sbin/nologin ftpuser
為使用者分配主目錄
mkdir -p /home/ftp/pub
建立歡迎檔案
echo "welcome to use ftp">/home/ftp/welcome.txt
設定訪問許可權
chmod a-w /home/ftp && chmod 777 -R /home/ftp/pub
設定為使用者主目錄
usermod -d /home/ftp ftpuser
儲存後重啟vsftpd
service vsftpd restart
防火牆開啟21埠,如上
如圖即成功:
5、Nginx配置https
1、將證書匯入伺服器
用ftp將nginx的兩個證書檔案上傳倒伺服器
2、修改nginx配置
cd /etc/nginx/
兩個配置檔案,1是nginx.conf,即總配置檔案,檔案中最後一行指向自定義配置檔案*.conf
cd conf.d
vi default.conf
在自定義配置檔案中做nginx-server的配置:
如箭頭所示,rewrite將80轉發倒443埠,443埠監聽,開啟https
crt和key即之前傳上來的兩個檔案,路徑不能錯。
root後的路徑也不能錯,否則找不到檔案。
配置完成之後一定要重啟nginx
nginx -s reload 或 systemctl restart nginx
最後一定要檢視防火牆是否開啟了443埠
3、SSL配置優化,啟用http2
HTTP2在協議上真正要求不同的Request可以在同一個Connection上交錯進行,真正做到多路複用。所帶來的好處顯而易見,更少的Connection,更好的併發,更高效的網路資源利用.
修改配置檔案,啟用HTTP2,如下:
server {
listen 8443 ssl http2 default_server; # 增加 http2 default_server
server_name 192.168.0.107;
...
}
4、安全評估報告
測試地址:https://myssl.com/
對證書資訊,協議套件,SSL漏洞,相容性都會進行測試並評級
可優化:去掉TLS1.0,
降級原因:沒有優先使用FS系列加密套件,降級為B
用推薦的加密套件,查詢地址:https://cipherli.st/
選用nginx相對應的加密套件:
再進行域名評估:
——end
相關文章
- 使用acme申請https免費證書ACMHTTP
- 阿里雲免費Https證書申請使用阿里HTTP
- 如何自動申請免費的HTTPS證書?HTTP
- Let's Encrypt 申請免費的 Https 證書HTTP
- FreeSSL申請免費證書
- 免費SSL證書申請及部署實踐
- 免費申請萬用字元證書字元
- SSL證書免費申請(阿里雲)阿里
- 阿里雲申請免費SSL證書阿里
- Cert Manager 申請SSL證書流程及相關概念-三
- Nginx 配置https證書NginxHTTP
- 免費https證書HTTP
- Windows Server 下 IIS 申請部署 Let’s Encrypt 證書實現 免費 HTTPSWindowsServerHTTP
- 超詳細網站部落格域名和二級域名、子域名升級HTTPS免費申請SSL證書配置nginx指南網站HTTPNginx
- 申請Let's Encrypt永久免費SSL證書
- 申請並部署免費的 SSL/TLS 證書TLS
- 2024最新免費IP地址SSL證書申請
- let's encrypt 申請 https 證書HTTP
- 如何申請購買HTTPS證書HTTP
- centos nginx下配置免費httpsCentOSNginxHTTP
- 為什麼要申請https證書HTTP
- 使用 Acme.sh 申請 https 證書ACMHTTP
- nginx+騰訊雲免費ssl證書+阿里雲ECS實現Https配置Nginx阿里HTTP
- Let's Encrypt 泛域名證書申請及配置
- 免費購買SSL證書,nginx無縫升級httpsNginxHTTP
- 騰訊雲:免費SSL證書實現https請求HTTP
- SSL證書申請問題 – HTTPS SSL 教程HTTP
- 配置Ingress支援HTTPS訪問(二):使用cert-manager申請證書HTTP
- 申請Let’s encrypt免費證書,並自動續訂.
- Let's Encrypt 免費萬用字元 SSL 證書申請教程字元
- 利用nginx和騰訊雲免費證書製作https的方法NginxHTTP
- 免費申請一張SSL證書-包含100個域名-挑戰!!
- 如何申請SSL證書以及SSL證書的費用
- iOS證書申請與配置介紹iOS
- nginx配置SSL證書實現https服務NginxHTTP
- 證書申請教程
- 教你快速擼一個免費HTTPS證書HTTP
- 更新:為 NGINX 配置免費的 Let's Encrypt SSL/TLS 證書NginxTLS