NGINX 메 일 프 록 시 설정
본 고 는 NGINX Plus 나 NGINX 오픈 소스 를 메 일 서버 나 외부 메 일 서비스의 에이전트 로 설정 하 는 방법 을 설명 할 것 이다.
소개 하 다.
NGINX 는 IMAP, POP 3, SMTP 프로 토 콜 을 메 일 계 정 을 불 러 오 는 상위 메 일 서버 중 하나 로 대리 할 수 있 기 때문에 메 일 클 라 이언 트 의 단일 터미널 로 사용 할 수 있다.이것 은 많은 이익 을 가 져 올 수 있다. 예 를 들 어:
선 결 조건
--with-mail
메 일 프 록 시 기능 에 사용 되 는 --with-mail_ssl_module
매개 변수 와 SSL / TLS 지원 에 사용 되 는 매개 변 수 는 Mail 모듈 을 컴 파일 했 습 니 다.$ ./configure --with-mail --with-mail_ssl_module --with-openssl = [ DIR ] /openssl-1.1.1
SMTP / IMAP / POP 3 메 일 프 록 시 설정
NGINX 프로필 에서:
mail
컨 텍스트 를 만 듭 니 다 http
컨 텍스트 와 같은 단계 에서 정의 합 니 다). {
#...
}
server_name
명령 으로 메 일 서버 의 이름 을 지정 합 니 다. {
server_name mail.example.com ;
#...
}
{
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_auth
과 pop3_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 사용 하기:
smtp_auth
nginx -V
$ nginx -V
:... with--mail_ssl_module
with --mail_ssl_module
。ssl
컨 텍스트 에 위조 명령 이 지정 되면 모든 메 일 프 록 시 서버 에 SSL / TLS 를 사용 합 니 다.다음 mail
명령 을 사용 하여 S TLS 와 STARTTLS 를 사용 할 수 있 습 니 다. : ssl on ;
아니면
STARTTLS ;
starttls
명령 으로 인증 서 를 지정 하 는 경로 (PEM 형식 을 사용 해 야 함) 를 사용 하고 명령 에 비밀 키 의 경 로 를 지정 합 니 다 ssl_certificate
. {
#...
ssl_certificate /etc/ssl/certs/server.crt ;
ssl_certificate_key /etc/ssl/certs/server.key ;
}
ssl_certificate_key
과 ssl_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 인증 서버 를 사용 합 니 다. - 이 설정 은 본 고의 범 위 를 넘 어 섰 습 니 다.서버 에서 온 모든 오류 메 시 지 는 클 라 이언 트 에 게 돌아 갑 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.