2016-07-14 283 views
6

是否有可能將Nginx反向代理與SSL Pass-through一起使用,以便它可以將請求傳遞給需要客戶端證書身份驗證的服務器。Nginx反向代理中的SSL傳遞?

這意味着服務器需要擁有客戶端服務器的證書,並且不需要Nginx反向代理服務器的證書。

回答

7

不知道有多少它可以在你的情況下工作,但Nginx的更新(1.9.3+)版本可以通過(加密)直接TLS包到上游服務器,使用stream block

stream { 
    server { 
    listen  443; 
    proxy_pass backend.example.com:443; 
    } 
} 

請注意,例如它不能使用server_name指令(因爲它本質上是在TCP級別上運行,並且對TLS一無所知),因此無法創建虛擬主機。

+0

這可以正常工作,但無法登錄到工作,訪問日誌爲空 – radtek

+0

訪問日誌很可能無法在'stream'模式下工作:Nginx在該模式下操作時不知道HTTP(並且不能攔截HTTPS,因爲它是加密的!),因此除了「IP xxxx打開連接,我們將其代理到backend.example.com:443」之外,不能記錄任何內容。 –

+1

是的,找到了關於該文件。您可以添加一個error_log並將其設置爲調試以獲取某種輸出。 – radtek