Analyse der Nginx-Build-https-Serverinstanz

王林
Freigeben: 2023-05-12 17:07:13
nach vorne
730 Leute haben es durchsucht

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.crt

Analyse der Nginx-Build-https-Serverinstanz

Erstellen Sie einen virtuellen https-HostAnalyse der Nginx-Build-https-Serverinstanz

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;
   }
}
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage