使用HTTPS通路我們的網站,不僅可以增加我們網站的安全性,更重要的是還能提升我們網站的逼格!我在為網站搭建SSL服務和CDN上有一些經驗,在這裡分享給大家,希望能幫到在這方面有需求的小夥伴吧!!!
第一步 購買SSL證書
打開
阿裡雲
>
産品與服務
SSL證書
第二步 驗證域名
購買成功後,需要驗證我們域名,是以我們需要解析域名
- 記錄類型:
TXT
- 主機記錄:
.fengwenyi.comhub
- 記錄值:
将表格中的記錄值填寫到這裡
點選
儲存
。
然後在驗證域名那裡點選
驗證
第三步 下載下傳證書
雖然域名驗證通過,但是我們申請的證書還需要一段時間的稽核。
這時候我們需要去下載下傳證書。
第三步 配置
這裡需要說明的是,我們是使用Nginx哦
是以,我們将下載下傳的證書上傳到伺服器
.../nginx/config/cert
目錄下
然後我們去配置
Nginx
- listen 443 ssl; #SSL協定通路端口号為443。此處如未添加ssl,可能會造成Nginx無法啟動。
- server_name hub.fengwenyi.com; # 域名,用于代替将要通路的端口号
- ssl_certificate cert/hub.fengwenyi.com.pem; #将domain name.pem替換成您證書的檔案名。
- ssl_certificate_key cert/hub.fengwenyi.com.key; #将domain name.key替換成您證書的密鑰檔案名。
- ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; #使用此加密套件。
- ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #使用該協定進行配置。
然後,我們将通路80端口的時候,也跳轉到這裡
- rewrite ^(.*)$ https://$host$1 permanent; #将所有http請求通過rewrite重定向到https。
Nginx完整配置如下:
#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
server {
listen 80;
server_name hub.fengwenyi.com; #将localhost修改為您證書綁定的域名,例如:www.example.com。
rewrite ^(.*)$ https://$host$1 permanent; #将所有http請求通過rewrite重定向到https。
location / {
proxy_pass http://localhost:5000/;
}
}
server {
listen 443 ssl; #SSL協定通路端口号為443。此處如未添加ssl,可能會造成Nginx無法啟動。
server_name hub.fengwenyi.com; # 域名,用于代替将要通路的端口号
ssl_certificate cert/hub.fengwenyi.com.pem; #将domain name.pem替換成您證書的檔案名。
ssl_certificate_key cert/hub.fengwenyi.com.key; #将domain name.key替換成您證書的密鑰檔案名。
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; #使用此加密套件。
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #使用該協定進行配置。
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://localhost:5000/;
}
}
}
重新開機 Nginx
./nginx -s reload
預覽
等這些操作完,SSL證書差不多稽核完成了。
話不多我們直接通路一下吧!
https://hub.fengwenyi.com