服务器配置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 即可.