Maison  >  Article  >  interface Web  >  Apprenez étape par étape comment activer https et http2 pour votre site (avec code)

Apprenez étape par étape comment activer https et http2 pour votre site (avec code)

奋力向前
奋力向前avant
2021-09-01 11:09:186202parcourir

Dans l'article précédent "Une brève analyse de l'installation et de l'utilisation de nginx (collection)", je vous ai présenté l'installation et l'utilisation de nginx. L'article suivant vous présentera comment activer https et http2 pour le site. Voyons comment le faire ensemble.

Apprenez étape par étape comment activer https et http2 pour votre site (avec code)

Cet article présente principalement comment activer https et http2 pour le sitehttpshttp2

Apprenez étape par étape comment activer https et http2 pour votre site (avec code)

本篇文章主要介绍了如何给站点开启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

WeChat capture d'écran_20210901105618.jpg

Cet article présente principalement comment activer https et <code>http2

Il est relativement simple d'activer https pour le site. Prenons l'exemple Linux + nginx de ce site

3 commandes.

Télécharger le script

rrreee

Associer automatiquement à nginx

rrreee$sudo ./certbot-auto renouveler --dry-run rrreee🎜Si le code d'erreur suivant s'affiche 🎜🎜🎜UnicodeDecodeError : le codec 'ascii' ne peut pas décoder l'octet 0xc3 en position 5 : l'ordinal n'est pas dans la plage (128) est à cause de nginx Il y a des caractères chinois dans le fichier de configuration du code>. Changez simplement le chinois en anglais🎜🎜ou vous pouvez le rechercher vous-même🎜rrreee🎜D'accord, ouvrez maintenant la configuration <code>nginx et prenez une look🎜rrreee🎜🎜Notez que la version de nginx est trop basse. Elle ne peut pas être ouverte. Vous devez d'abord mettre à niveau la version de nginx en prenant centos comme exemple🎜🎜🎜Modifiez l'adresse de l'entrepôt nginx de /. etc/yum.repos.d/nginx.repo🎜rrreee🎜🎜S'il n'est pas encore installé nginx, exécutez directement yum install nginx S'il est déjà installé, vous pouvez le mettre à niveau via yum clean all && yum update nginx. 🎜🎜🎜Il est recommandé d'arrêter <code>nginx arrêter violemment killall nginx, puis de désinstaller yum supprimer nginx puis de réinstaller yum install nginx 🎜🎜<strong>Mise à niveau Ubuntu/Debian HTTP/2</strong>🎜🎜Modifiez d'abord la source de l'entrepôt <code>apt /etc/apt/source.list Adresse , ajoutez les deux lignes suivantes pour l'entrepôt. 🎜rrreee🎜 Exécutez ensuite 🎜rrreee🎜OK, maintenant https a été activé avec succès, 443 ssl et ce dernier http2 sont activés . http2🎜🎜Enfin, redémarrez nginx🎜rrreee🎜Actualisez la page et constatez qu'il y a un cadenas devant l'URL, ce qui signifie que https a été ouvert avec succès🎜🎜Comment vérifier cela http2 Ensuite, vous ouvrez l'URL à vérifier et attendez qu'elle soit chargée. Ouvrez un nouvel <code>onglet et saisissez chrome://net-internals/#http2<.> et appuyez sur Entrée🎜🎜Si vous trouvez l'adresse IP correspondant à votre URL dans la liste, il apparaîtra qu'elle a été ouverte avec succès. 🎜🎜Bien sûr, utilisez Google Chrome 🎜🎜【Fin】🎜🎜Apprentissage recommandé : 🎜Tutoriel vidéo http🎜🎜</.>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer