Heim >Betrieb und Instandhaltung >Betrieb und Wartung von Linux >So konfigurieren Sie https in Linux Apache
Standardmäßig wird für die Übertragung über das TCP-Protokoll das Anwendungsschichtprotokoll von Port 80 verwendet. Das http-Protokoll wird hauptsächlich für den Zugriff auf Ressourcen im World Wide Web verwendet.
Der vollständige Name lautet Secure Sockets Layer. Zwischen der Arbeits- und der Transportschicht werden Netzwerkverbindungen für Protokolle der Anwendungsschicht verschlüsselt und geschützt.
http-Protokoll + SSL-Protokoll. Standardmäßig wird TCP-Port 443 verwendet.
Der Arbeitsprozess des https-Protokolls:
Der Client initiiert eine HTTPS-Anfrage
Der Benutzer gibt eine https-URL in den Browser ein und stellt dann eine Verbindung zum 443-Port des Servers her
Service-Terminalkonfiguration
Server, die das HTTPS-Protokoll verwenden, müssen über einen Satz digitaler Zertifikate verfügen. Sie können diese selbst erstellen oder bei der Organisation beantragen. Der Unterschied besteht darin, dass das von Ihnen ausgestellte Zertifikat vom Client überprüft werden muss, bevor Sie weiterhin darauf zugreifen können. Wenn Sie hingegen ein von einem vertrauenswürdigen Unternehmen angewendetes Zertifikat verwenden, wird die Eingabeaufforderungsseite nicht angezeigt. Bei diesem Zertifikat handelt es sich eigentlich um ein Paar aus öffentlichem und privatem Schlüssel
Übertragen Sie das Zertifikat des Servers an den Client
Das Zertifikat ist eigentlich der öffentliche Schlüssel und enthält auch viele Informationen, z. B. die ausstellende Behörde von das Zertifikat und die Ablaufzeit Warten
Der Client analysiert und überprüft das Serverzertifikat
Dieser Teil der Arbeit wird vom TLS des Clients erledigt. Zunächst wird überprüft, ob der öffentliche Schlüssel gültig ist, z. B.: Ausstellende Behörde, Ablaufzeit usw.: Wenn eine Ausnahme gefunden wird, wird ein Warnfeld angezeigt, das darauf hinweist, dass ein Problem mit dem Zertifikat vorliegt. Liegt kein Problem mit dem Zertifikat vor, wird ein Zufallswert generiert. Verwenden Sie dann den öffentlichen Schlüssel im Zertifikat, um den Zufallswert asymmetrisch zu verschlüsseln. Der Client überträgt die verschlüsselten Informationen an den Server. Dieser Teil überträgt den mit dem Zertifikat verschlüsselten Zufallswert. Der Zweck besteht darin, den Server zu informieren Wenn Sie diesen Zufallswert erhalten, kann die zukünftige Kommunikation zwischen dem Client und dem Server über diesen Zufallswert verschlüsselt und entschlüsselt werden.
Der Server entschlüsselt die Informationen.
Privater Schlüssel, der den vom Client übergebenen Zufallswert erhält. Der Server verschlüsselt die Informationen und sendet die Informationen.
1. Beantragen Sie ein Zertifikat für den Apache-Server
1 Zertifikatsausstellung
[root@ansible certs]# pwd /etc/pki/tls/certs [root@ansible certs]# ls ca-bundle.crt ca-bundle.trust.crt make-dummy-cert Makefile renew-dummy-cert #取消makefile文件中对私钥文件的加密 [root@ansible certs]# vim Makefile %.key: umask 77 ; \ #/usr/bin/openssl genrsa -aes128 $(KEYLEN) > $@ /usr/bin/openssl genrsa $(KEYLEN) > $@ #生成证书 [root@ansible certs]# make Makefile httpds.crt
Konfigurieren Sie die https-Funktion von Apache
[root@CentOS8 ~]# rpm -ql mod_ssl /etc/httpd/conf.d/ssl.conf #ssl模块的配置文件 /etc/httpd/conf.modules.d/00-ssl.conf #加载ssl模块 /usr/lib/.build-id /usr/lib/.build-id/e6/046e586d8d19fb92e3f8484a62203e841c3e2a /usr/lib/systemd/system/httpd-init.service /usr/lib/systemd/system/httpd.socket.d/10-listen443.conf /usr/lib64/httpd/modules/mod_ssl.so #模块文件 /usr/libexec/httpd-ssl-gencerts /usr/libexec/httpd-ssl-pass-dialog /usr/share/man/man8/httpd-init.service.8.gz /var/cache/httpd/ssl
Ändern Sie die Konfigurationsdatei:
[root@CentOS8 ~]# vim /etc/httpd/conf.d/ssl.conf SSLCertificateFile /data/apache/apache1.crt #apache的证书文件 SSLCertificateKeyFile /data/apache/apache1.key #apache的私钥文件 SSLCertificateChainFile /etc/pki/tls/certs/server-chain.crt #apache的证书链文件 证书链文件:不指定证书链文件,它就不知道这个证书是谁颁发的。证书链就是上级CA的证书
Überprüfung:
Legen Sie die Windows-Hostdatei zur Überprüfung fest
windows的hosts文件位置:C:\Windows\System32\drivers\etc 格式:ip地址 名字
Das obige ist der detaillierte Inhalt vonSo konfigurieren Sie https in Linux Apache. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!