Nginx

nginx客戶端證書位置塊

  • March 14, 2016

如何將客戶端證書身份驗證與 nginx 一起用於文件夾?塊中ssl_client_certificate不允許該指令。location範例:我希望me.tld所有客戶端都可以訪問我的網站,並且me.tld/secure/只有經過身份驗證的客戶端可以訪問以下所有內容。

我自己無法嘗試,但您可以嘗試以下方法

您將需要ssl_verify_client optional;沿著旁邊走ssl_client_certificate,然後使用以下位置塊

location /secure {
   error_page 418 = @other;
   recursive_error_pages on;
   if ($ssl_client_verify = SUCCESS) {
   return 418
   }

location @other {
   #Secure Config goes here
   }

將檢查客戶端證書,但不會對所有位置強制執行。當有人嘗試該/secure目錄時,nginx 將檢查該級別是否$ssl_client_verify成功。server如果是,我們告訴 nginx 在該位置處理會return出錯。418``@other

引用自:https://serverfault.com/questions/763649