Heim >Betrieb und Instandhaltung >Betrieb und Wartung von Linux >So konfigurieren Sie https in Linux Apache

So konfigurieren Sie https in Linux Apache

王林
王林nach vorne
2023-05-21 19:55:371725Durchsuche

http-Protokoll:

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.

SSL-Protokoll (Secure Sockets Layer):

  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.

https-Protokoll:

  http-Protokoll + SSL-Protokoll. Standardmäßig wird TCP-Port 443 verwendet.

So konfigurieren Sie https in Linux Apache

Der Arbeitsprozess des https-Protokolls:

So konfigurieren Sie https in Linux Apache

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

      Durch Laden des entsprechenden Moduls kann die entsprechende Funktion realisiert werden.
  • Prozess:


    1. Beantragen Sie ein Zertifikat für den Apache-Server

  • 3. Überprüfen Sie, wie Apache ein Zertifikat beantragt.
  • 1 Zertifikatsausstellung

    2. Verwenden Sie CentOS7, um schnell ein selbstsigniertes Zertifikat zu generieren
  • [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
  • 3. Laden Sie ein kostenloses Zertifikat über Alibaba Cloud und andere Websites herunter (erfordert einen Domainnamen)


    Konfigurieren Sie die https-Funktion von Apache

  • Installieren Sie mod_ssl Softwarepaket. Nach der Installation des mod_ssl-Softwarepakets generiert Apache automatisch SSL-Konfigurationsdateien und -Module.
[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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen