Einführung in https
https (Hypertext Transfer Protocol over Secure Socket Layer) ist ein auf Sicherheit ausgerichteter HTTP-Kanal. Einfach ausgedrückt handelt es sich um eine sichere Version von http. Das heißt, unter http wird eine SSL-Schicht hinzugefügt. Die Sicherheitsgrundlage von https ist SSL, daher ist für die Verschlüsselungsdetails SSL erforderlich.
Es handelt sich um ein URI-Schema (abstraktes Identifikatorsystem), dessen Syntax dem http:-System ähnelt und für die sichere HTTP-Datenübertragung verwendet wird. Der von https verwendete Standardport ist 443.
SSL-Zertifikat
Einführung in Zertifikattypen
Um einen sicheren Server einzurichten, erstellen Sie mithilfe des öffentlichen Schlüssels ein öffentlich-privates Schlüsselpaar. In den meisten Fällen senden Sie die Zertifikatsanforderung (einschließlich Ihres eigenen öffentlichen Schlüssels), Ihre Firmenanmeldeinformationen und die Gebühr an eine Zertifizierungsstelle (ca).ca überprüft die Zertifikatsanforderung und Ihre Identität und sendet das Zertifikat dann an Ihren sicheren Server zurück.
Aber wenn das Intranet eine Verschlüsselung serverseitiger und clientseitiger Übertragungsinhalte implementiert, können Sie Ihr eigenes Zertifikat ausstellen und die Browser-Misstrauenswarnung einfach ignorieren!
Ein von einer Zertifizierungsstelle signiertes Zertifikat bietet zwei wichtige Funktionen für Ihren Server:
Der Browser erkennt das Zertifikat automatisch und ermöglicht die Herstellung einer sicheren Verbindung, ohne den Benutzer dazu aufzufordern.
Wenn eine Zertifizierungsstelle ein A-signiertes Zertifikat generiert Zertifikat, das dem Browser die Identität der Organisation garantiert, die die Webseite bereitstellt.
Die meisten Webserver, die SSL unterstützen, verfügen über eine Liste von Zertifizierungsstellen, deren Zertifikate automatisch akzeptiert werden. Wenn ein Browser auf ein Zertifikat stößt, dessen Autorisierung nicht in der Liste enthalten ist, fragt der Browser den Benutzer, ob er die Verbindung akzeptieren oder ablehnen soll
Opensl Req -New -Key Wangzhengyi.Key -Out Wangzhengyi.csr
Erstellen Sie ein von ihm selbst signiertes CA-Zertifikat
Opensl REQ -New -X509 -KEY WANGZHENGYI_NOPASS.KEY -OUT wangzhengyi.crtErstellen Sie einen virtuellen https-Host
Konfigurationsdatei für einen virtuellen Host
upstream 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; } }
Das obige ist der detaillierte Inhalt vonAnalyse der Nginx-Build-https-Serverinstanz. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!