Introduction à https
https (protocole de transfert hypertexte sur couche de socket sécurisée) est un canal http destiné à la sécurité En termes simples, il s'agit d'une version sécurisée de http. Autrement dit, une couche SSL est ajoutée sous http. La base de sécurité de https est SSL, donc les détails du cryptage nécessitent SSL.
Il s'agit d'un schéma uri (système d'identification abstrait), la syntaxe est similaire au système http: et est utilisée pour la transmission sécurisée de données http. Le port par défaut utilisé par https est 443.
Certificat SSL
Présentation des types de certificats
Pour configurer un serveur sécurisé, créez une paire de clés publique-privée à l'aide de la clé publique. Dans la plupart des cas, envoyez la demande de certificat (y compris votre propre clé publique), les informations d'identification de votre entreprise et les frais à une autorité de certification (ca).ca vérifie la demande de certificat et votre identité, puis renvoie le certificat à votre serveur sécurisé.
Mais si l'intranet implémente le cryptage du contenu de transmission côté serveur et côté client, vous pouvez émettre votre propre certificat et ignorer simplement l'alerte de méfiance du navigateur !
Un certificat signé par un ca fournit deux fonctions importantes pour votre serveur :
Le navigateur reconnaîtra automatiquement le certificat et permettra la création d'une connexion sécurisée sans demander à l'utilisateur
Lorsqu'un ca génère un A signé certificat qui garantit l'identité de l'organisation qui sert la page Web au navigateur.
La plupart des serveurs Web prenant en charge SSL ont une liste d'autorités de certification dont les certificats seront automatiquement acceptés. Lorsqu'un navigateur rencontre un certificat dont l'autorisation ca n'est pas dans la liste, le navigateur demandera à l'utilisateur s'il doit accepter ou refuser la connexion
Générer un certificat SSL
openssl genrsa -des3 -out wangzhengyi.key 2048
Opensl Req -New -Key Wangzhengyi.Key -Out Wangzhengyi.csrCréer un certificat CA signé par lui-même
Opensl REQ -New -X509 -KEY WANGZHENGYI_NOPASS.KEY -OUT wangzhengyi.crt
Construire un hôte virtuel https
Fichier de configuration de l'hôte virtuelupstream sslfpm {
server 127.0.0.1:9000 weight=10 max_fails=3 fail_timeout=20s;
}
server {
listen 192.168.1.*:443;
server_name 192.168.1.*;
#为一个server开启ssl支持
ssl on;
#为虚拟主机指定pem格式的证书文件
ssl_certificate /home/wangzhengyi/ssl/wangzhengyi.crt;
#为虚拟主机指定私钥文件
ssl_certificate_key /home/wangzhengyi/ssl/wangzhengyi_nopass.key;
#客户端能够重复使用存储在缓存中的会话参数时间
ssl_session_timeout 5m;
#指定使用的ssl协议
ssl_protocols sslv3 tlsv1;
#指定许可的密码描述
ssl_ciphers all:!adh:!export56:rc4+rsa:+high:+medium:+low:+sslv2:+exp;
#sslv3和tlsv1协议的服务器密码需求优先级高于客户端密码
ssl_prefer_server_ciphers on;
location / {
root /home/wangzhengyi/ssl/;
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
}
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
error_page 404 /404.html;
location = /50x.html {
root /usr/share/nginx/www;
}
location = /404.html {
root /usr/share/nginx/www;
}
# proxy the php scripts to fpm
location ~ \.php$ {
access_log /var/log/nginx/ssl/ssl.access.log main;
error_log /var/log/nginx/ssl/ssl.error.log;
root /home/wangzhengyi/ssl/;
fastcgi_param https on;
include /etc/nginx/fastcgi_params;
fastcgi_pass sslfpm;
}
}
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!