我很驚訝地發現,我在nginx訪問日誌中找不到有關記錄請求協議的任何信息。我通常共享HTTP(80)和HTTPS(443)流量的服務器塊,並使用兩者的組合訪問日誌。我想在訪問日誌的每一行中指出請求是通過HTTP還是HTTPS。在nginx中記錄請求protcol?
這是可能的,還是我需要爲HTTPS使用單獨的服務器塊併爲SSL指定單獨的訪問日誌?
我很驚訝地發現,我在nginx訪問日誌中找不到有關記錄請求協議的任何信息。我通常共享HTTP(80)和HTTPS(443)流量的服務器塊,並使用兩者的組合訪問日誌。我想在訪問日誌的每一行中指出請求是通過HTTP還是HTTPS。在nginx中記錄請求protcol?
這是可能的,還是我需要爲HTTPS使用單獨的服務器塊併爲SSL指定單獨的訪問日誌?
這有點隱藏在這個文檔中,你可以使用任何常用的變量。這包括$scheme
。
您可以將服務器模塊,如:
server {
listen 80;
listen 443 default_server ssl;
# other directives
}
> nginx http/https config docs
有關自定義日誌文件輸出,您可以使用「log_format」指令來定義自己的訪問日誌設置。
我知道我可以結合這些,我問我是否可以以某種方式記錄請求協議。我在文檔中沒有看到,但覺得這是人們常見的事情? – Brian 2013-04-30 18:03:40
是的,這工作,謝謝! – Brian 2013-05-03 17:51:20
您將它添加到什麼文件/部分,以獲取系統日誌中的輸出? – 2014-09-26 11:14:18
我發現它,但它總是'http'!與我們ELB的SSL結局有關。 – 2014-09-26 15:15:30