NGINX 메 일 프 록 시 설정

16863 단어
NGINX 메 일 프 록 시 설정
 
본 고 는 NGINX Plus 나 NGINX 오픈 소스 를 메 일 서버 나 외부 메 일 서비스의 에이전트 로 설정 하 는 방법 을 설명 할 것 이다.
 
소개 하 다.
NGINX 는 IMAP, POP 3, SMTP 프로 토 콜 을 메 일 계 정 을 불 러 오 는 상위 메 일 서버 중 하나 로 대리 할 수 있 기 때문에 메 일 클 라 이언 트 의 단일 터미널 로 사용 할 수 있다.이것 은 많은 이익 을 가 져 올 수 있다. 예 를 들 어:
  • 메 일 서버 의 수 를 쉽게 확장
  • 서로 다른 규칙 에 따라 메 일 서버 를 선택한다. 예 를 들 어 고객 의 IP 주소 에 따라 가장 가 까 운 서버 를 선택한다
  • .
  • 메 일 서버 사이 에 부하 할당
  •  
    선 결 조건
  • NGINX Plus (프 록 시 메 일 트 래 픽 에 필요 한 Mail 모듈 포함) 또는 NGINX 오픈 소스 사용 --with-mail 메 일 프 록 시 기능 에 사용 되 는 --with-mail_ssl_module 매개 변수 와 SSL / TLS 지원 에 사용 되 는 매개 변 수 는 Mail 모듈 을 컴 파일 했 습 니 다.
    $ ./configure --with-mail --with-mail_ssl_module --with-openssl = [ DIR ] /openssl-1.1.1
    

  • IMAP, POP 3 및 / 또는 SMTP 메 일 서버 또는 외부 메 일 서비스
  •  
    SMTP / IMAP / POP 3 메 일 프 록 시 설정
    NGINX 프로필 에서:
  • 최상 위 mail 컨 텍스트 를 만 듭 니 다 http 컨 텍스트 와 같은 단계 에서 정의 합 니 다).
       { 
        #... 
    }
    

  • 사용 server_name 명령 으로 메 일 서버 의 이름 을 지정 합 니 다.
       { 
       server_name  mail.example.com ; 
        #... 
    }
    

  • 명령 을 사용 하여 HTTP 인증 서버 를 지정 합 니 다.인증 서버 는 전자 우편 클 라 이언 트 에 대한 인증 을 하고 상류 서버 를 선택 하여 전자 우편 처 리 를 하고 오 류 를 보고 합 니 다.메 일 에이전트 에 인증 을 설정 하 는 것 을 참고 하 십시오.
       { 
        server_name  mail.example.com ; 
        auth_http        9000 /cgi-bin/nginxauth.cgi ; 
        #... 
    }
    

  • 또는 지정 auth_http 명령 을 통 해 인증 서버 에서 사용자 에 게 오 류 를 알 릴 지 여 부 를 지정 합 니 다.메 일 메모리 가 부족 할 때 편리 할 수 있 습 니 다.
       { 
        server_name  mail.example.com ; 
        auth_http        9000 /cgi-bin/nginxauth.cgi ;
    
        proxy_pass_error_message   
        #... 
    }
    

  • proxy_pass_error_message 블록 을 사용 하여 각 SMTP, IMAP 또는 POP 3 서버 를 설정 합 니 다.각 서버 에 대해 다음 을 지정 하 십시오:
  • 명령 이 있 는 지정 프로 토 콜 에 대응 하 는 포트 번호 server
  • 명령 이 있 는 프로 토 콜 listen (지정 되 지 않 으 면 명령 에서 지정 한 포트 에서 자동 으로 감지 protocol
  • 허 용 된 인증 방법 은 listen, imap_authpop3_auth 명령 이 있다.
  •     { 
              25 ; 
            smtp ; 
        smtp_auth        cram-md5 ; 
    } 
    
        { 
              110 ; 
            pop3 ; 
        pop3_auth     apop  cram-md5 ; 
    }
    
        { 
             143 ; 
           imap ; 
    }
    


     
    메 일 에이전트 인증 설정
    클 라 이언 트 에서 온 모든 POP 3 / IMAP / SMTP 요청 은 외부 HTTP 인증 서버 나 인증 스 크 립 트 를 통 해 인증 합 니 다.Nginx 메 일 서버 프 록 시 에는 인증 서버 가 있어 야 합 니 다.HTTP 프로 토 콜 기반 NGINX 인증 프로 토 콜 에 따라 서버 를 자체 적 으로 만 들 수 있 습 니 다.
    인증 이 성공 하면 인증 서버 는 상위 서버 를 선택 하고 요청 을 다시 설정 합 니 다.이 경우 서버 에서 온 응답 은 다음 과 같은 몇 줄 을 포함 합 니 다.
    HTTP / 1.0 200 OK
          :  
    Auth-Server: #                    IP   
    Auth-Port: 
    

    인증 에 실패 하면 인증 서버 는 오류 메 시 지 를 되 돌려 줍 니 다.이 경우 서버 에서 온 응답 은 다음 과 같은 몇 줄 을 포함 합 니 다.
    HTTP / 1.0 200 OK
          : #           ,  “         ”   
    

    두 가지 상황 에서 응답 은 모두 HTTP / 1.0 200 OK 를 포함 하여 헷 갈 릴 수 있 음 을 주의 하 십시오.
    이 인증 서버 요청 과 응답 에 대한 더 많은 예 시 는 ngx 를 참조 하 십시오.mail_auth_http_module 는 NGINX 에서 문 서 를 참고 합 니 다.
     
    메 일 에이전트 에 SSL / TLS 설정
    SSL / TLS 의 POP 3 / SMTP / IMAP 를 사용 하여 클 라 이언 트 와 메 일 서버 사이 에 전 달 된 데이터 가 보호 되 는 지 확인 하 십시오.
    메 일 에이전트 에 SSL / TLS 사용 하기:
  • 명령 줄 에 명령 을 입력 한 다음 출력 에서 이 줄 을 찾 아 NGINX 에 SSL / TLS 지원 이 설정 되 어 있 는 지 확인 합 니 다.smtp_auth nginx -V
    $ nginx -V
        :... with--mail_ssl_module
    

  • 서버 인증서 와 비밀 키 를 가 져 왔 는 지 확인 하고 서버 에 두 십시오.신뢰 할 수 있 는 인증서 발급 기관 (CA) 에서 인증 서 를 받 을 수도 있 고 SSL 라 이브 러 리 (예: OpenSSL) 를 사용 하여 인증 서 를 생 성 할 수도 있 습 니 다.
  • 메 일 에이전트 에 SSL / TLS 사용 명령 사용 with --mail_ssl_module 。ssl 컨 텍스트 에 위조 명령 이 지정 되면 모든 메 일 프 록 시 서버 에 SSL / TLS 를 사용 합 니 다.다음 mail 명령 을 사용 하여 S TLS 와 STARTTLS 를 사용 할 수 있 습 니 다. :
    ssl  on ;
    

    아니면
    STARTTLS   ;
    

  • SSL 인증서 추가: starttls 명령 으로 인증 서 를 지정 하 는 경로 (PEM 형식 을 사용 해 야 함) 를 사용 하고 명령 에 비밀 키 의 경 로 를 지정 합 니 다 ssl_certificate.
       { 
        #... 
        ssl_certificate      /etc/ssl/certs/server.crt ; 
        ssl_certificate_key  /etc/ssl/certs/server.key ; 
    }
    

  • ssl_certificate_keyssl_protocols 명령 을 통 해 SSL / TLS 의 강력 한 버 전과 비밀번호 만 사용 할 수 있 고 원 하 는 프로 토 콜 과 비밀 번 호 를 설정 할 수 있 습 니 다.
       { 
        #... 
        ssl_protocols  TLSv1  TLSv1.1  TLSv1.2 ; 
        ssl_ciphers    HIGH:!aNULL:!MD5 ; 
    }
    


  • 메 일 에이전트 에 SSL / TLS 최적화
    이 알림 들 은 NGINX 메 일 에이전트 가 더 빠 르 고 안전 하도록 도와 줄 것 입 니 다.
  • 명령 을 ssl_ciphers 컨 텍스트 와 같은 단계 로 설정 하고 작업 프로 세 스 의 수량 을 프로세서 의 수량 과 같 게 설정 합 니 다.
    worker_processes    ; 
       { 
        #... 
    }
    

  • 아래 worker_processes 명령 을 사용 하여 공유 세 션 캐 시 를 사용 하고 내 장 된 세 션 캐 시 를 사용 하지 않 습 니 다.
    worker_processes    ;
    
       { 
        #... 
        ssl_session_cache  shared:SSL:10m ; 
        #... 
    }
    

  • (선택 가능) 다음 mail 명령 을 사용 하여 세 션 생존 시간 을 연장 할 수 있 습 니 다 (기본 값 은 분).
    worker_processes    ;
    
       { 
        #... 
        ssl_session_cache    shared:SSL:10m ; 
        ssl_session_timeout  10m ; 
        #... 
    }
    


  • 완전한 예
    worker_processes    ;
    
       { 
        server_name  mail.example.com ; 
        auth_http        9000 /cgi-bin/nginxauth.cgi ;
    
        proxy_pass_error_message   
    
        ssl                  on ; 
        ssl_certificate      /etc/ssl/certs/server.crt ; 
        ssl_certificate_key  /etc/ssl/certs/server.key ; 
        ssl_protocols        TLSv1  TLSv1.1  TLSv1.2 ; 
        ssl_ciphers          HIGH:!aNULL:!MD5 ; 
        ssl_session_cache    shared:SSL:10m ; 
        ssl_session_timeout  10m ;
    
            { 
                   25 ; 
                 smtp ; 
            smtp_auth         cram-md5 ; 
        }
    
            { 
                  110 ; 
                pop3 ; 
            pop3_auth     apop  cram-md5 ; 
    }
    
             { 
                 143 ; 
               imap ; 
        } 
    }
    

    이 예제 에는 SMTP, POP 3, IMAP 등 세 개의 전자 우편 프 록 시 서버 가 있다.서버 마다 SSL 과 STARTTLS 지원 이 설정 되 어 있 습 니 다.SSL 세 션 인자 가 캐 시 됩 니 다.
    프 록 시 서버 는 HTTP 인증 서버 를 사용 합 니 다. - 이 설정 은 본 고의 범 위 를 넘 어 섰 습 니 다.서버 에서 온 모든 오류 메 시 지 는 클 라 이언 트 에 게 돌아 갑 니 다.

    좋은 웹페이지 즐겨찾기