• 技术文章 >web前端 >H5教程

    手把手教你使用给站点开启https和http2(附代码)

    奋力向前奋力向前2021-09-01 11:09:18转载142

    之前的文章《浅析nginx的安装与使用(收藏)》中,给大家介绍了解了nginx的安装与使用。下面本篇文章给大家介绍怎么给站点开启https和http2,我们一起看看怎么做。

    本篇文章主要介绍了如何给站点开启httpshttp2

    微信截图_20210901105618.jpg

    本篇文章主要介绍了如何给站点开启httpshttp2

    给站点开启https比较简单以本站Linux + nginx为例

    3条命令即可

    下载脚本

    wget https://dl.eff.org/certbot-auto
    chmod a+x certbot-auto

    自动关联到nginx

    $sudo ./certbot-auto --nginx
    ```sh
    
    ## 检查证书有没有过期

    $sudo ./certbot-auto renew --dry-run

    ## 如果过期了就自动续订
    
    ```sh
    $sudo ./certbot-auto renew

    假如提示如下错误代码

    UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xc3 in position 5: ordinal not in range(128)是因为nginx的配置文件存在中文字符,把中文改成英文即可

    或者可以自行查找

    grep -r -P '[^\x00-\x7f]' /etc/nginx /etc/letsencrypt

    好了,现在打开nginx配置看下

    listen 443 ssl http2;
    ssl on;
    ssl_certificate /etc/letsencrypt/live/chuchur.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/chuchur.com/privkey.pem;
    include /etc/letsencrypt/options-ssl-nginx.conf;
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
    
    if ($scheme != "https") {
    
        return 301 https://$host$request_uri;
    
    } # managed by Certbot

    注意 nginx 版本太低是无法开启的,首先要升级 nginx 版本,以 centos 为例

    修改/etc/yum.repos.d/nginx.repo的nginx仓库地址

    [nginx]
    name=nginx repo
    baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
    gpgcheck=0
    enabled=1

    如果还没有安装 nginx,直接执行 yum install nginx,如果已经安装了,则可以通过 yum clean all && yum update nginx 升级。

    建议先停掉nginx暴力停止killall nginx, 然后卸载掉yum remove nginx之后再重新安装yum install nginx

    Ubuntu / Debian升级HTTP/2

    首先修改apt仓库源/etc/apt/source.list的地址,增加下面两行仓库。

    deb http://nginx.org/packages/mainline/debian/ codename nginx
    deb-src http://nginx.org/packages/mainline/debian/ codename nginx

    接下来执行

    apt-get clean && apt-get install nginx

    好了,现在成功了开启了https了,443 ssl 后面那个http2,就是开启了http2

    最后重启nginx

    nginx -s reload

    刷新页面发现网址前面加了一把锁就表示https开启成功了

    如何验证开启了http2呢 你打开要验证的网址等加载完成后,新开一个tab输入chrome://net-internals/#http2回车

    如果在列表中找到你的网址对应的ip就表面已经开启成功了。

    当然是用谷歌浏览器

    【完】

    推荐学习:http视频教程

    以上就是手把手教你使用给站点开启https和http2(附代码)的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:禅境花园,如有侵犯,请联系admin@php.cn删除
    专题推荐:http h5 前端
    上一篇:使用HTML5 SVG绘制各种雪花图案 下一篇:你值得了解的WEB前端跨域解决方案(代码详解)
    线上培训班

    相关文章推荐

    • 一起看看Swoole HTTP• webservice和http的区别• 解析Go的http client• php curl 不支持https怎么办• HTTP和HTML分别指什么

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网