>  기사  >  운영 및 유지보수  >  Linux Apache에서 https를 구성하는 방법

Linux Apache에서 https를 구성하는 방법

王林
王林앞으로
2023-05-21 19:55:371700검색

http 프로토콜:

기본적으로 포트 80의 애플리케이션 계층 프로토콜은 TCP 프로토콜을 사용한 전송에 사용됩니다. http 프로토콜은 주로 World Wide Web의 리소스에 액세스하는 데 사용됩니다.

ssl(Secure Sockets Layer) 프로토콜:

  전체 이름은 Secure Sockets Layer입니다. 작업 계층과 전송 계층 사이에서 애플리케이션 계층 프로토콜에 대한 네트워크 연결은 암호화되고 보호됩니다.

https 프로토콜:

  http 프로토콜 + SSL 프로토콜. 기본적으로 TCP 포트 443이 사용됩니다.

Linux Apache에서 https를 구성하는 방법

https 프로토콜의 작업 프로세스:

Linux Apache에서 https를 구성하는 방법

  • 클라이언트가 HTTPS 요청을 시작합니다
      사용자가 브라우저에 https URL을 입력한 다음 서버의 443 포트에 연결합니다

  • 서비스 터미널 구성
       HTTPS 프로토콜을 사용하는 서버에는 디지털 인증서 세트가 있어야 합니다. 직접 만들거나 조직에 적용할 수 있습니다. 차이점은 본인이 발급한 인증서는 클라이언트의 확인을 거쳐야 계속 접속할 수 있지만, 신뢰할 수 있는 회사에서 적용한 인증서를 사용하는 경우 프롬프트 페이지가 팝업되지 않는다는 점입니다. 이 인증서는 실제로는 공개키와 개인키의 쌍입니다

  • 서버의 인증서를 클라이언트로 전송하세요
      인증서는 실제로는 공개키이며, 인증서 발급 기관 등 많은 정보도 담고 있습니다. 인증서 및 만료 시간 Wait

  • 클라이언트는 서버 인증서를 구문 분석하고 확인합니다
      이 작업 부분은 클라이언트의 TLS에 의해 수행됩니다. 먼저 다음과 같이 공개 키가 유효한지 확인합니다. 발급기관, 유효기간 등 예외사항이 발견되면 인증서에 문제가 있다는 경고창이 팝업됩니다. 인증서에 문제가 없으면 임의의 값이 생성됩니다. 그런 다음 인증서의 공개 키를 사용하여 임의의 값을 비대칭으로 암호화합니다

  • 클라이언트는 암호화된 정보를 서버에 전송합니다
      이 부분은 인증서로 암호화된 임의의 값을 서버가 전송하도록 하는 것입니다. 이 임의의 값을 얻으면 클라이언트와 서버 사이의 향후 통신은 이 임의의 값을 통해 암호화 및 복호화될 수 있습니다

  • 서버는 정보를 복호화합니다
      서버는 클라이언트가 보낸 암호화된 정보를 서버의 암호로 복호화합니다. 개인 키는 클라이언트가 전달한 임의의 값을 얻습니다

  • 서버는 정보를 암호화하고 정보를 보냅니다

      소프트웨어, 많은 기능이 제공됩니다. 해당 모듈을 로드하면 해당 기능을 실현할 수 있습니다.
  • 프로세스:


    1. Apache 서버용 인증서를 신청합니다

  • 2. Apache의 https 기능을 구성합니다

3. Apache에서 인증서를 적용하는 방법

1을 확인합니다. 인증서 발급

2. CentOS7을 사용하여 자체 서명된 인증서를 빠르게 생성하세요

[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. Alibaba Cloud 및 기타 웹사이트를 통해 무료 인증서를 다운로드하세요(도메인 이름 필요)

apache의 https 기능 구성

mod_ssl 설치 소프트웨어 패키지 mod_ssl 소프트웨어 패키지를 설치하면 Apache가 자동으로 SSL 구성 파일 및 모듈을 생성합니다.

[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

구성 파일 수정:

[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的证书

확인:

  확인을 위해 Windows 호스트 파일 설정

windows的hosts文件位置:C:\Windows\System32\drivers\etc

格式:ip地址 名字

위 내용은 Linux Apache에서 https를 구성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제