2014-05-16 2 views
1

POP3 역 프록시를 설정했으며 여러 도메인을 제공하는 데 사용 중입니다. 요청의 호스트 이름을 인증 스크립트에 사용자 지정 헤더로 전달하려고했지만 어떻게해야할지 모르겠다.nginx 역 프록시 POP3 호스트 이름을 인증 스크립트로 전송

mail { 
    server_name mail.example.com; 
    auth_http 10.169.15.199:80/auth_script.php; 
    auth_http_timeout 5000; 
    proxy on; 
    proxy_pass_error_message on; 

    pop3_capabilities "LAST" "TOP" "USER" "PIPELINING" "UIDL"; 

    server { 
     protocol pop3; 
     listen  110; 
     pop3_auth plain; 
     auth_http_header X-Auth-Port 110; 
     auth_http_header User-Agent "Nginx POP3/IMAP4 proxy"; 
     auth_http_header my_hostname $host; 
    } 
} 

내가이 함께 노력 :

nginx.conf 파일의 관련 섹션은

auth_http_header my_hostname $host; 

실제 호스트 이름과 $ 호스트를 대체 할 nginx를 기대하지만, 그렇지 않습니다 auth 스크립트는 $ _SERVER [MY_HOSTNAME] = '$ host'를받습니다.

이것을 수행 할 수있는 방법이 있습니까?

답변

0

인증 호스트를 얻는 유일한 방법은 [email protected]이고 인증 헤더는 호스트 이름 부분을 분리하는 것입니다.

여러 도메인에 인증을 프록시하려는 경우 다음을 작성했습니다. module in perl