> 운영 및 유지보수 > 엔진스 > Nginx 역방향 프록시의 SSL 인증서 모니터링

Nginx 역방향 프록시의 SSL 인증서 모니터링

WBOY
풀어 주다: 2023-06-10 10:52:40
원래의
1483명이 탐색했습니다.

Nginx는 고성능 웹 서버이자 역방향 프록시 서버입니다. 안정적이고 신뢰할 수 있기 때문에 많은 대규모 웹 사이트 및 응용 프로그램에서 널리 사용됩니다. SSL(Secure Sockets Layer) 인증서는 클라이언트와 서버 간에 데이터를 안전하게 전송하는 데 사용되는 디지털 인증서입니다. Nginx에서 SSL 인증서 사용은 역방향 프록시와 밀접한 관련이 있습니다. 이 기사에서는 Nginx 역방향 프록시 및 모니터링에서 SSL 인증서 사용을 살펴봅니다.

Nginx 역방향 프록시의 SSL 인증서 사용

Nginx에서 역방향 프록시 서버는 클라이언트로부터 요청을 받아 백엔드 서버로 전달하는 프런트 엔드 서버 역할을 합니다. Nginx가 역방향 프록시 서버로 작동하는 경우 SSL 인증서를 사용해야 하는 SSL 연결을 암호화하고 해독하는 데에도 사용할 수 있습니다.

Nginx에서 SSL 인증서를 구성하려면 먼저 SSL 인증서를 생성해야 합니다. OpenSSL, ACME 클라이언트, Certbot을 포함한 다양한 도구를 사용하여 인증서를 생성할 수 있습니다. 여기서는 OpenSSL을 사용하여 인증서를 생성하는 예를 들어보겠습니다.

OpenSSL을 사용하여 SSL 인증서 생성

OpenSSL을 사용하여 SSL 인증서를 생성하기 전에 서버에 OpenSSL을 설치해야 합니다. 다음 명령을 사용하여 OpenSSL이 설치되었는지 확인할 수 있습니다.

openssl version
로그인 후 복사

OpenSSL의 버전 정보가 반환되면 OpenSSL이 설치되었음을 의미합니다. 설치되지 않은 경우 다음 명령을 통해 설치할 수 있습니다.

sudo apt-get update
sudo apt-get install openssl
로그인 후 복사

설치가 완료된 후 다음 명령을 사용하여 인증서를 생성할 수 있습니다.

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/nginx.key -out /etc/nginx/ssl/nginx.crt
로그인 후 복사

이 명령은 다음에 유효한 자체 서명 SSL 인증서를 생성합니다. 365일 동안 /etc/nginx/ssl 디렉터리에 저장합니다. 그 중 nginx.key가 개인키 파일이고, nginx.crt가 인증서 파일입니다.

Nginx에서 SSL 인증서 구성

인증서가 생성되면 Nginx에서 구성할 수 있습니다. Nginx 구성 파일에 다음 구성을 추가할 수 있습니다.

server {
  listen 443 ssl;
  server_name example.com;

  ssl_certificate /etc/nginx/ssl/nginx.crt;
  ssl_certificate_key /etc/nginx/ssl/nginx.key;

  location / {
    proxy_pass http://localhost:8000;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

    # This line enables HTTPS for the proxy
    proxy_ssl_verify                  on;
    proxy_ssl_certificate            /etc/nginx/ssl/nginx.crt;
    proxy_ssl_certificate_key        /etc/nginx/ssl/nginx.key;
    proxy_ssl_session_reuse          on;
  }
}
로그인 후 복사

이 구성은 Nginx가 포트 443에서 HTTPS 연결을 수신하고 생성된 SSL 인증서를 사용하여 연결을 암호화한다는 것을 의미합니다. 또한 클라이언트 요청을 http://localhost:8000으로 전달하는 역방향 프록시를 설정합니다.

SSL 인증서 모니터링

SSL 인증서는 제한된 시간 동안 유효합니다. 인증서가 만료되면 더 이상 유효하지 않으므로 웹사이트가 안전하지 않게 됩니다. 따라서 Nginx 리버스 프록시에 사용되는 SSL 인증서를 모니터링하여 인증서의 유효 기간을 확인해야 합니다.

다음은 SSL 인증서 모니터링의 몇 가지 일반적인 방법입니다.

1. 인증서 만료 시간 보기

다음 명령을 사용하여 SSL 인증서의 만료 시간을 볼 수 있습니다.

echo | openssl s_client -servername example.com -connect example.com:443 2>/dev/null | openssl x509 -noout -dates
로그인 후 복사

여기서 example.com은 도메인입니다. 귀하의 웹사이트 이름. 이 명령은 인증서의 시작 날짜와 만료 날짜를 출력합니다.

2. Nagios Monitoring

Nagios는 서버, 애플리케이션 및 네트워크 서비스를 모니터링하는 데 도움이 되는 종합 모니터링 솔루션입니다. 또한 SSL 인증서의 만료 시간을 모니터링할 수도 있습니다. Nagios를 사용하여 SSL 인증서를 모니터링하려면 Nagios와 Nagios용 SSL 인증서 모니터링 플러그인을 설치해야 합니다.

3. Let's Encrypt

Let's Encrypt는 Nginx 역방향 프록시용 SSL 인증서를 쉽게 구성하는 데 도움이 되는 무료 SSL 인증 기관입니다. 또한 Let's Encrypt 인증서는 90일 동안 유효하므로 정기적으로 인증서를 갱신해야 합니다.

Let's Encrypt를 사용하여 SSL 인증서를 얻으려면 Certbot을 설치해야 합니다. Certbot을 설치한 후 다음 명령을 실행하여 인증서를 얻을 수 있습니다.

sudo certbot certonly --webroot -w /var/www/example.com -d example.com
로그인 후 복사

여기서 /var/www/example.com은 웹 사이트의 루트 디렉터리이고 example.com은 웹 사이트의 도메인 이름입니다. Certbot은 자동으로 서버에서 이를 확인하고 인증서를 발급합니다.

결론

이 글에서는 Nginx 리버스 프록시에서 SSL 인증서를 사용하고 모니터링하는 방법을 소개합니다. SSL 인증서를 사용하는 경우 인증서의 만료일을 정기적으로 확인해야 합니다. Nagios 모니터링 또는 Let's Encrypt를 사용하여 인증서를 자동으로 갱신하면 인증서가 항상 유효한지 확인할 수 있습니다. SSL 인증서 모니터링은 웹사이트와 고객 데이터를 보호하는 핵심 단계입니다.

위 내용은 Nginx 역방향 프록시의 SSL 인증서 모니터링의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿