服務器配置https協議
HTTPS,是以安全為目標的HTTP通道,簡單講是HTTP的安全版。即HTTP下加入SSL層,HTTPS的安全基礎是SSL,因此加密的詳細內容就需要SSL。
配置HTTPS就需要證書,關于證書方面不做過多解釋,只介紹大概情況 :
證書通過權威的CA機構付費獲得的證書才能被互聯網承認,我們將其放在服務器上面,配置好后,就可以進行https通信了。
當然我們申請免費的就好,專業版很貴的,免費版一年需要重新處理一次。
單個免費版申請地址:
https://common-buy.aliyun.com/?spm=5176.2020520163.0.0.e8f856a74ReRXh&commodityCode=cas
購買后就可以會控制臺頁面
然后這里我印象是自主認證,會驗證DNS 因為我的域名是騰訊買的所以就會需要單獨添加一條類似紅箭頭的值驗證
這里我遇到了很惡心的問題,因為服務器是阿里云,域名是騰訊云!
需要手動驗證 ,就是說需要在指定的路徑下去訪問一個txt文件,
這里我用nginx配置了半天還是不太好用靜態文件,可能是我得問題,我把目錄寫好,映射到這個文件但是找不到,無奈之下
我選擇投奔DJANGO -框架的路由去做映射。
希望各位看下這里是否有問題???我文件了這個pki-validation/里的對應文件目錄在alias中,但就是找不到~
django-這樣搞了一下
不過也算還好,認證通過了就行。
與此同時會收到兩封郵件📧
?
下一步刷新控制臺
?
選擇自己的部署方式 這里我用的nginx !
就看看幫助 他寫的文檔廢話一大堆
我直接把我的配置給你看,
第一步? 下載證書搞到你的服務器上,我用的scp 也可以直接用可視化的軟件 比如xftp 等等
文件路徑記住一會兒要用
第二部改nginx的配置文件
不是在 vim /usr/local/nginx/conf/nginx.conf
就是在 vim /etc/nginx/nginx.conf?
?
1.此處如果未配置HTTPS的默認訪問端口,可能會造成Nginx無法啟動。2.Nginx 1.15.0以上版本請使用listen 443 ssl代替listen 443和ssl on。
3.還有Https 能訪問 http 無法訪問/訪問空白情況 是因為你沒配置重定向問題
4.nginx 在虛擬服務器使用localhost即可
總而言之 不是很麻煩 但是會有坑
?
我的配置如下,備注也很清晰
user root;
worker_processes 1;error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;events {worker_connections 1024;
}http {include /etc/nginx/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 /var/log/nginx/access.log main;sendfile on;#tcp_nopush on;keepalive_timeout 65;#gzip on;upstream mysever{server localhost:8000;}###重定向內容,否則你的http就會訪問空白@server {listen 80;server_name wakemeupnow.cn ;rewrite ^(.*) https://$server_name$1 permanent;}server {listen 443 ssl; #配置HTTPS的默認訪問端口號為443。此處如果未配置HTTPS的默認訪問端口,可能會造成Nginx無法啟動。Nginx 1.15.0以上版本請使用listen 443 ssl代替listen 443和ssl on。server_name localhost; #將www.certificatestests.com修改為您證書綁定的域名,例如:www.example.com。如果您購買的是通配符域名證書,要修改為通配符域名,例如:*.aliyun.com。#root html;#index index.html index.htm;ssl_certificate /home/liuwang/master/sslconf/4522364_www.wakemeupnow.cn.pem; #將domain name.pem替換成您證書的文件名稱。ssl_certificate_key /home/lliuwang/master/sslconf/4522364_www.wakemeupnow.cn.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;#listen 80;#server_name localhost;location /static {alias /home/admin/master/collect_static;}location / {# include /etc/nginx/uwsgi_params;# uwsgi_pass http://localhost:8000;# proxy_pass http://localhost:8000;proxy_pass http://mysever;}location /.well-known/pki-validation/ {# include /etc/nginx/uwsgi_params;# uwsgi_pass http://localhost:8000;# proxy_pass http://localhost:8000;alias /home/admin/master/wellknow;}}}
最后重啟nginx -s reload 即可.
?
?
?
?
?