데몬 프로세스의 출력 및 입력 가져오기

데몬 프로세스의 출력 및 입력 가져오기

배경

재구성을 위해 실행 중인 nginx 기본 프로세스에 SIGHUP이 전송되면 nginx(특히 openssl 라이브러리)는 로그에 표시된 대로 비밀번호로 암호화된 인증서 키가 있는지 묻습니다.

Enter PEM pass phrase:

입력 핸들이 없으므로 이는 즉시 실패하고 다시 로드도 실패하게 됩니다.

질문

nginx가 비밀번호를 요청하고 입력할 때 알 수 있는 편리한 방법이 있나요?

아이디어

  • ssl_password_file지시어는 디스크에 흔적을 남기므로 옵션이 아닙니다.
  • nginx를 다른 상위 프로세스로 래핑하고 포그라운드에서 실행하는 것이 더 좋지만 이로 인해 nginx에 약간의 불안정성이 추가될까 걱정됩니다.
  • 그래서 나는 그것을 해결하기 위해 어떤 리눅스 메커니즘을 사용하는 것이 가장 좋다고 생각합니다. 어쩌면 명명된 파이프일까요? 하지만 명명된 파이프에는 Nginx의 참여가 필요하다고 생각합니다.

답변1

이 목적을 위한 지시문이 있습니다. 다음을 사용하여 파일에 저장된 줄로 구분된 암호 목록을 사용하도록 NGINX를 구성할 수 있습니다.ssl_password_file. .

http { 
  server { server_name <fqdn|ip>;
  ssl_certificate_key <pem_key>; 
  ssl_password_file <path_to_passphrase>
      } 

그런 다음 구성을 다시 로드합니다.

sudo nginx -s reload

귀하의 비밀번호 파일은 루트 사용자만 읽을 수 있다는 점에 유의하십시오. 공격자가 귀하의 비밀번호를 알아내면 보안 위반이 발생할 수도 있습니다.

답변2

관련 정보