博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
网站通信协议升级到HTTPS&HTTP2
阅读量:4946 次
发布时间:2019-06-11

本文共 3453 字,大约阅读时间需要 11 分钟。

为何要升级到HTTPS和HTTP2?

HTTPS

一、所需条件

  • 域名
  • Web服务器(Nginx,Apache,IIS都行)
  • SSL证书(可通过腾讯云、阿里云等申请)
  • 需要Nginx支持SSL(命令nginx -V中,如果出现 ‘-with-http_ssl_module’ 字样即可)

二、操作步骤

  1. 登录阿里云购买免费SSL证书并申请
  2. 下载证书,上传至服务器
  3. Nginx配置HTTPS服务
  4. 重定向
  5. 重启Nginx服务
  6. 将html中所有的外链资源(如img,css,js,媒体标签等)url置为https

三、具体操作

 1.登录阿里云购买免费SSL证书()

  阿里云免费型DV SSL有效期1年,购买后填写一些信息,提交申请,即可等待签发。在这里表扬一下阿里云,秒速签发。

  在这里讲一下,域名验证类型可选择自动DNS、手动DNS和文件验证,在这里我选择的是自动的;CSR生成方式选择系统生成。

  验证阶段,根据提示,要将域名添加一条DNS解析记录,这里要注意,要去申请域名的网站去操作。比如我的服务器买的阿里云,域名在新网买的,所以要去新网去设置,而不是在阿里云。 

 2.下载SSL证书并上传至服务器

  选择Nginx版本证书,在nginx安装目录(一般在/etc/nginx)中新建文件夹(cert),放置证书

 3.Nginx配置HTTPS服务

server { # 这个server标识我要配置了    listen 80 default_server;       # 我要监听那个端口    listen [::]:80 default_server;    server_name xxx.cn ;      # 你访问的路径前面的url名称    access_log /var/log/nginx/access.log main; # Nginx日志配置    charset utf-8; # Nginx编码    gzip_types text/plain application/x-javascript text/css text/javascript application/x-httpd-php application/json text/json   image/jpeg image/gif image/png application/octet-stream; # 支持压缩的类型      # 注意添加下面这行代码,用于重定向    return 301 https://$server_name$request_uri;    error_page 404 /404.html; # 错误页面    error_page 500 502 503 504 /50x.html; # 错误页面      # 指定项目路径uwsgi    location / { # 这个location就和咱们Django的url(r'^admin/', admin.site.urls),        include uwsgi_params; # 导入一个Nginx模块他是用来和uWSGI进行通讯的        uwsgi_connect_timeout 30; # 设置连接uWSGI超时时间        uwsgi_pass unix:/data/wwwroot/script/uwsgi.sock; # 指定uwsgi的sock>文件所有动态请求就会直接丢给他    }    # 指定静态文件路径    location /static/ {        alias /data/wwwroot/maci_proj/static/;        #index index.html index.htm;    }}        server {    listen 443 ssl http2 default_server;    listen [::]:443 ssl http2 default_server;        server_name www.xxxxx.cn ;        access_log /var/log/nginx/access.log main; # Nginx日志配置    charset utf-8; # Nginx编码    gzip_types text/plain application/x-javascript text/css text/javascript application/x-httpd-php application/json text/json   image/jpeg image/gif image/png application/octet-stream; # 支持压缩的类型    ssl_certificate /etc/nginx/cert/2050124_xxx.pem;   # pem文件    ssl_certificate_key /etc/nginx/cert/2050124_xxx.key; # key文件    ssl_session_cache shared:SSL:1m;    ssl_session_timeout  5m;    ssl_ciphers HIGH:!aNULL:!MD5;    ssl_prefer_server_ciphers on;    error_page 404 /404.html; # 错误页面    error_page 500 502 503 504 /50x.html; # 错误页面    # 指定项目路径uwsgi    location / { # 这个location就和咱们Django的url(r'^admin/', admin.site.urls),        include uwsgi_params; # 导入一个Nginx模块他是用来和uWSGI进行通讯的        uwsgi_connect_timeout 30; # 设置连接uWSGI超时时间        uwsgi_pass unix:/data/wwwroot/script/uwsgi.sock; # 指定uwsgi的sock>文件所有动态请求就会直接丢给他    }    # 指定静态文件路径    location /static/ {        alias /data/wwwroot/maci_proj/static/;        #index index.html index.htm;    }}

 4.重定向

   将所有http请求重定向为https,如上面配置所述。

   有三种重定向方式:

  • rewrite ^/(.*)$ https://example.com/$1;
  • rewrite ^ https://example.com$request_uri? permanent;
  • return 301 https://example.com$request_uri;

   唯一的区别:正则匹配的性能。第三种性能最优,第一种差一些。然而对于业余的我,完全体会不到。

 5.重启Nginx服务

nginx -tnginx -s reload

 6.前端页面外链资源url全部改成https协议

  否则浏览器仍会提示不安全的连接

  

   对于这些资源,能够使用https的则使用,如果不能使用可以将其下载到自己的服务器上。

HTTP2

一、所需条件

 1、openssl 1.0.2+

openssl version  //查看版本的命令

  2、升级HTTPS

· 3.Nginx 1.9.5+ 且 支持

nginx -V  # 查看版本

二、修改Nginx配置文件

 原本的https的listen为

listen 443 ssl;

 现在在后面加上http2:

listen 443 ssl http2 default_server;

 重启Nginx

nginx -tnginx -s reload

 在浏览器中可以查看到协议

 FireFox

   

 chrome

   

 

转载于:https://www.cnblogs.com/V587Chinese/p/10692848.html

你可能感兴趣的文章
4.27随笔
查看>>
CSS实例:图片导航块
查看>>
poj1860 Currency Exchange(spfa判断正环)
查看>>
SQL CHECK 约束&Case when 的使用方法
查看>>
[整理]HTTPS和SSL证书
查看>>
[转载] Android 异步加载图片,使用LruCache和SD卡或手机缓存,效果非常的流畅
查看>>
水晶苍蝇拍:聊聊估值那些事儿——“指标”背后的故事 (2011-11-01 14:58:32)
查看>>
3.每周总结
查看>>
应用提交 App Store 上架被拒绝
查看>>
Android实现异步处理 -- HTTP请求
查看>>
数据清空js清空div里的数据问题
查看>>
Fortran中的指针使用
查看>>
移动终端app测试点总结
查看>>
14-6-27&28自学内容小结
查看>>
JSP
查看>>
---
查看>>
(第一组_GNS3)自反ACl
查看>>
hdu--1258--Sum It Up(Map水过)
查看>>
Spring @DeclareParents 的扩展应用实例
查看>>
VS2012更新Update1后帮助查看器无法打开
查看>>