집 >운영 및 유지보수 >리눅스 운영 및 유지 관리 >Linux Apache에서 https를 구성하는 방법
기본적으로 포트 80의 애플리케이션 계층 프로토콜은 TCP 프로토콜을 사용한 전송에 사용됩니다. http 프로토콜은 주로 World Wide Web의 리소스에 액세스하는 데 사용됩니다.
전체 이름은 Secure Sockets Layer입니다. 작업 계층과 전송 계층 사이에서 애플리케이션 계층 프로토콜에 대한 네트워크 연결은 암호화되고 보호됩니다.
http 프로토콜 + SSL 프로토콜. 기본적으로 TCP 포트 443이 사용됩니다.
https 프로토콜의 작업 프로세스:
클라이언트가 HTTPS 요청을 시작합니다
사용자가 브라우저에 https URL을 입력한 다음 서버의 443 포트에 연결합니다
서비스 터미널 구성
HTTPS 프로토콜을 사용하는 서버에는 디지털 인증서 세트가 있어야 합니다. 직접 만들거나 조직에 적용할 수 있습니다. 차이점은 본인이 발급한 인증서는 클라이언트의 확인을 거쳐야 계속 접속할 수 있지만, 신뢰할 수 있는 회사에서 적용한 인증서를 사용하는 경우 프롬프트 페이지가 팝업되지 않는다는 점입니다. 이 인증서는 실제로는 공개키와 개인키의 쌍입니다
서버의 인증서를 클라이언트로 전송하세요
인증서는 실제로는 공개키이며, 인증서 발급 기관 등 많은 정보도 담고 있습니다. 인증서 및 만료 시간 Wait
클라이언트는 서버 인증서를 구문 분석하고 확인합니다
이 작업 부분은 클라이언트의 TLS에 의해 수행됩니다. 먼저 다음과 같이 공개 키가 유효한지 확인합니다. 발급기관, 유효기간 등 예외사항이 발견되면 인증서에 문제가 있다는 경고창이 팝업됩니다. 인증서에 문제가 없으면 임의의 값이 생성됩니다. 그런 다음 인증서의 공개 키를 사용하여 임의의 값을 비대칭으로 암호화합니다
클라이언트는 암호화된 정보를 서버에 전송합니다
이 부분은 인증서로 암호화된 임의의 값을 서버가 전송하도록 하는 것입니다. 이 임의의 값을 얻으면 클라이언트와 서버 사이의 향후 통신은 이 임의의 값을 통해 암호화 및 복호화될 수 있습니다
서버는 정보를 복호화합니다
서버는 클라이언트가 보낸 암호화된 정보를 서버의 암호로 복호화합니다. 개인 키는 클라이언트가 전달한 임의의 값을 얻습니다
서버는 정보를 암호화하고 정보를 보냅니다
1. Apache 서버용 인증서를 신청합니다
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!