>백엔드 개발 >PHP 튜토리얼 >웹 서비스에 대한 HTTP/2 프로토콜을 지원하도록 Docker 컨테이너에서 Nginx 프록시 서버를 구성하는 방법은 무엇입니까?

웹 서비스에 대한 HTTP/2 프로토콜을 지원하도록 Docker 컨테이너에서 Nginx 프록시 서버를 구성하는 방법은 무엇입니까?

WBOY
WBOY원래의
2023-09-05 14:49:051631검색

웹 서비스에 대한 HTTP/2 프로토콜을 지원하도록 Docker 컨테이너에서 Nginx 프록시 서버를 구성하는 방법은 무엇입니까?

웹 서비스용 HTTP/2 프로토콜을 지원하도록 Docker 컨테이너에서 Nginx 프록시 서버를 구성하는 방법은 무엇입니까?

소개
HTTP/2 프로토콜은 HTTP/1.1의 업그레이드 버전으로 성능과 보안 기능을 향상시켜 웹 서버의 Hypertext Transfer Protocol에 대한 새로운 표준이 되었습니다. 고성능 웹 서버인 Nginx는 HTTP/2 프로토콜 사용도 지원합니다. 이 기사에서는 웹 서비스의 HTTP/2 프로토콜을 지원하기 위해 Docker 컨테이너에서 Nginx 프록시 서버를 구성하는 방법을 소개합니다.

1단계: Docker 컨테이너 만들기
먼저 로컬 컴퓨터에 Docker 컨테이너를 만들어야 합니다. Docker 명령을 통해 새 컨테이너를 생성할 수 있습니다. 예:

docker run -d -p 80:80 --name nginx-proxy nginx:latest

위 명령은 nginx-proxy라는 컨테이너를 생성하고 로컬 컴퓨터의 포트 80을 컨테이너의 포트 80에 매핑합니다.

2단계: Docker 컨테이너 입력
다음 명령을 사용하여 방금 생성한 컨테이너를 입력합니다.

docker exec -it nginx-proxy bash

이 명령은 nginx-proxy 컨테이너의 bash 터미널로 들어갑니다.

3단계: Nginx 구성 파일 편집
컨테이너에서 HTTP/2 프로토콜을 활성화하려면 Nginx 구성 파일을 편집해야 합니다. 기본적으로 Nginx의 구성 파일은 /etc/nginx/nginx.conf에 있습니다. 예를 들어 텍스트 편집기로 파일을 엽니다.

vim /etc/nginx/nginx.conf

열린 파일에서 다음 구성 항목을 찾습니다.

listen       80;

그런 다음 줄 아래에 다음을 추가하여 HTTP/2 프로토콜을 활성화합니다.

listen 443 ssl http2;

이 구성은 다음과 같습니다. Nginx가 수신 대기하는 포트를 443으로 변경하고 SSL 및 HTTP/2 프로토콜을 활성화합니다.

4단계: SSL 인증서 생성
HTTP/2 프로토콜은 SSL 암호화 통신을 사용해야 하므로 Nginx용 SSL 인증서를 생성해야 합니다. OpenSSL 도구를 사용하여 자체 서명된 인증서를 생성할 수 있습니다. SSL 인증서를 생성하려면 컨테이너에서 다음 명령을 실행하세요.

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/nginx.key -out /etc/nginx/ssl/nginx.crt

위 명령은 365일 동안 유효한 자체 서명 인증서를 생성하고 개인 키를 /etc/nginx/ssl/nginx.key 파일에 저장합니다. 인증서를 /etc/nginx/ssl/nginx.crt 파일에 추가합니다.

5단계: Nginx 프록시 서버 구성
이제 Nginx의 프록시 서버 구성 파일을 편집해야 합니다. 일반적으로 프록시 서버의 구성 파일은 /etc/nginx/conf.d/default.conf에 있습니다. 텍스트 편집기로 파일을 엽니다. 예:

vim /etc/nginx/conf.d/default.conf

열린 파일에서 다음 구성 항목을 찾습니다.

location / {
    proxy_pass http://backend;
}

그런 다음 구성 항목 위에 다음 콘텐츠를 추가하여 SSL 인증서를 정의하고 HTTP/2 프로토콜을 활성화합니다. :

listen 443 ssl http2;
ssl_certificate /etc/nginx/ssl/nginx.crt;
ssl_certificate_key /etc/nginx/ssl/nginx.key;

이러한 구성은 Nginx가 이전에 생성된 SSL 인증서를 사용하고 HTTP/2 프로토콜을 활성화하도록 지시합니다.

6단계: Nginx 서비스 다시 시작
위 구성을 완료한 후 구성을 적용하려면 Nginx 서비스를 다시 시작해야 합니다. Nginx 서비스를 다시 시작하려면 컨테이너에서 다음 명령을 실행하세요.

nginx -s reload

이제 Nginx 프록시 서버가 구성되었으며 HTTP/2 프로토콜을 사용하여 웹 서비스를 지원합니다.

결론
이 문서의 단계를 통해 우리는 웹 서비스의 HTTP/2 프로토콜을 지원하도록 Docker 컨테이너에서 Nginx 프록시 서버를 성공적으로 구성했습니다. HTTP/2 프로토콜을 사용하면 더 빠른 성능과 더 높은 보안을 제공할 수 있으므로 웹 애플리케이션이 컨테이너에서 더 효율적이고 안정적으로 실행될 수 있습니다.

위 내용은 웹 서비스에 대한 HTTP/2 프로토콜을 지원하도록 Docker 컨테이너에서 Nginx 프록시 서버를 구성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.