首頁 >運維 >Nginx >Nginx反向代理程式中Web伺服器的認證機制

Nginx反向代理程式中Web伺服器的認證機制

PHPz
PHPz原創
2023-06-10 21:36:131871瀏覽

Nginx作為高效能的Web伺服器,可以作為反向代理伺服器,對外提供快速、穩定的服務。在反向代理中,Nginx需要連接到內部的Web伺服器來取得請求資源,此時涉及到Web伺服器的認證機制。

Web伺服器的認證一般分為基本認證和摘要認證兩種方式。基本認證是指使用者透過輸入使用者名稱和密碼來驗證身份,伺服器將這些資訊進行驗證後才允許存取資源。而摘要認證則是指在使用者要求資源時,伺服器傳回一些隨機數值,客戶端透過對這些值進行加密後再要求資源,伺服器透過對客戶端提供的加密資訊進行解密驗證身分。

在反向代理程式中,Nginx需要對接的Web伺服器也需要進行以上的認證措施。這時,我們可以透過在Nginx設定檔中設定代理驗證來實現對Web伺服器的認證:

  1. #基本認證:
    ##在Nginx的http段下增加以下程式碼:
  •      auth_basic "Input your username and password";
         auth_basic_user_file /etc/nginx/conf.d/conf/auth.conf;
其中

auth_basic表示啟用驗證機制並在輸入方塊中提示使用者輸入使用者名稱和密碼,auth_basic_user_file則表示指定使用者名稱及密碼存放的文件,這裡我們設定在/etc/nginx/conf.d/conf/auth.conf中。

    在auth.conf檔案中先建立一個Password檔案:
  •      htpasswd -c /etc/nginx/conf.d/conf/Password username
其中

-c參數表示首次新增用戶,username則是用戶名,執行以上指令後會讓您輸入密碼,完成後會在Password檔案中產生一個使用者及密碼。

    增加用戶:
  •      htpasswd /etc/nginx/conf.d/conf/Password user2
在以上指令為已經存在Password檔案的情況下,新增用戶,同樣會讓您輸入密碼。

    摘要認證
    在Nginx的http段下增加以下程式碼:
  •      auth_digest "Please Login";
         auth_digest_user_file /etc/nginx/conf.d/conf/auth_digest.conf;
其中

auth_digest表示啟用驗證機制並在輸入框中提示使用者輸入使用者名稱和密碼,auth_digest_user_file則表示指定使用者名稱及密碼存放的文件,這裡我們設定在/etc/nginx/conf.d /conf/auth_digest.conf中。

    在auth_digest.conf檔案中增加以下內容:
  •      user1:PasswordRealm:2da86e1b3a8a5511c400d00737a7a233
其中

user1為使用者名,PasswordRealm為密碼和加密隨機數值所對應的領域名稱組合而成,2da86e1b3a8a5511c400d00737a7a233則是加密所得的密文。

以上便是Nginx對Web伺服器認證的實作方法。透過以上認證措施,可以對Web伺服器進行有效的防護和安全控制,確保系統的安全性和穩定性。

以上是Nginx反向代理程式中Web伺服器的認證機制的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn