久久亚洲精品成人_国产精品欧美综合亚洲_亚洲va天堂va欧美ⅴa在线_91色视频在线观看_久久影院亚洲_一级黄色片播放_日韩av在线一区_精品一区二区在线看_老头吃奶性行交视频_日韩免费高清视频_天天操天天爽天天干_日本欧美在线视频

首頁(yè) > 網(wǎng)站 > Nginx > 正文

詳解nginx basic auth配置踩坑記

2024-08-30 12:29:44
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

nginx的basic auth配置由ngx_http_auth_basic_module模塊提供,對(duì)HTTP Basic Authentication協(xié)議進(jìn)行了支持,用戶可通過(guò)該配置設(shè)置用戶名和密碼對(duì)web站點(diǎn)進(jìn)行簡(jiǎn)單的訪問(wèn)控制。

basic auth配置示例:

location / {  auth_basic      "closed site";  auth_basic_user_file conf/htpasswd;}

說(shuō)明:

  1. auth_basic可設(shè)置為off或其它字符串,為off時(shí)表示不開(kāi)啟密碼驗(yàn)證
  2. auth_basic_user_file 為包含用戶名和密碼的文件,文件內(nèi)容如elastic:YsEm9Tb4.RwB6

踩坑的地方就是這個(gè)密碼,官方文檔里對(duì)支持的密碼類型進(jìn)行了說(shuō)明:

  1. 采用系統(tǒng)函數(shù)crypt()加密的密碼;可通過(guò)htpasswd命令或者openssl passwd命令生成
  2. 通過(guò)Apache提供的基于MD5的變種加密算法(apr1),同樣可通過(guò)htpasswd或者openssl passwd命令生成
  3. 以“{scheme}data”格式表示的加密后的密碼,RFC 2307中有對(duì)該格式的密碼標(biāo)準(zhǔn)進(jìn)行了說(shuō)明。其中scheme指的是加密算法,nginx支持的scheme有PLAIN, SHA,SSHA算法。

使用htpasswd或者openssl passwd命令生成的密碼固然可以使得配置生效,nginx能夠正常地進(jìn)行密碼安全校驗(yàn),如果密碼類型不支持, 則nginx或報(bào)錯(cuò):

crypt_r() failed (22: Invalid argument)

但是因?yàn)闃I(yè)務(wù)的需要,我們要用代碼生成nginx的配置并下發(fā)配置到每個(gè)云主機(jī)中,之后拉起nginx進(jìn)程。項(xiàng)目代碼使用go語(yǔ)言編寫(xiě),所以需要找一個(gè)對(duì)應(yīng)的函數(shù)或者庫(kù)生成nginx支持的密碼。

go語(yǔ)言生成nginx支持的密碼

在進(jìn)行自動(dòng)生成密碼開(kāi)發(fā)之前,思考了一下大概有三種方案可以實(shí)現(xiàn):

  1. 項(xiàng)目服務(wù)器上安裝htpasswd工具或openssl, 通過(guò)代碼執(zhí)行本地命令生成加密密碼
  2. 直接調(diào)用Linux系統(tǒng)函數(shù)crypt()加密密碼
  3. 使用go標(biāo)準(zhǔn)庫(kù)crypto加密密碼

首先,第一種方式是不太可取的,因?yàn)樾枰獜?qiáng)依賴服務(wù)器環(huán)境,所以直接pass。下面看第二種和第三種方式的具體實(shí)現(xiàn)。

直接調(diào)用系統(tǒng)函數(shù)crypt()

Linux的crypt函數(shù)有兩個(gè)參數(shù),函數(shù)定義為:

char *crypt(const char *key, const char *salt);

其中參數(shù)key為需要加密的內(nèi)容,salt參數(shù)有兩種類型:

  1. 長(zhǎng)度為2的字符串,取值范圍為[a-zA-Z0-9./],如果超過(guò)兩位會(huì)被忽略,并且只能支持最長(zhǎng)8位的key,如果key超過(guò)8位,則8位之后的會(huì)被忽略
  2. $id$salt$encrypted 格式,用于支持其它的加密算法, id表示算法類型,具體取值有:
ID | Method  ─────────────────────────────────────────────  1  | MD5  2a | Blowfish (not in mainline glibc; added in some    | Linux distributions)  5  | SHA-256 (since glibc 2.7)  6  | SHA-512 (since glibc 2.7)

go語(yǔ)言中可以通過(guò)import "C"方式直接調(diào)用c語(yǔ)言的庫(kù)函數(shù),下面是封裝crypt函數(shù)的具體實(shí)現(xiàn):

package crypt/*#define _GNU_SOURCE#include <unistd.h>*/import "C"import (  "sync"  "unsafe")var (  mu sync.Mutex)func Crypt(pass, salt string) (string, error) {  c_pass := C.CString(pass)  defer C.free(unsafe.Pointer(c_pass))  c_salt := C.CString(salt)  defer C.free(unsafe.Pointer(c_salt))  mu.Lock()  c_enc, err := C.crypt(c_pass, c_salt)  mu.Unlock()  if c_enc == nil {    return "", err  }  defer C.free(unsafe.Pointer(c_enc))  return C.GoString(c_enc), err}

生成密碼的具體實(shí)現(xiàn):

func main() {  des, err := crypt.Crypt("Elastic123", "in")  if err != nil {    fmt.Errorf("error:", err)    return  }  sha512, err := crypt.Crypt("Elastic123", "$6$SomeSaltSomePepper$")  if err != nil {    fmt.Errorf("error:", err)    return  }  fmt.Println("des:", des)  fmt.Println("SHA512:", sha512)}

經(jīng)過(guò)實(shí)測(cè),上述通過(guò)調(diào)用crypt函數(shù)生成nginx支持的加密密碼實(shí)際可用,但是需要注意的是如果密碼長(zhǎng)度超過(guò)8位,則salt參數(shù)只能選擇$id$salt$encrypted類型,在測(cè)試過(guò)程中就是因?yàn)椴攘诉@點(diǎn)坑導(dǎo)致nginx只能校驗(yàn)密碼的前8位,無(wú)語(yǔ)。

因?yàn)樵诰帉?xiě)go代碼過(guò)程中調(diào)用了C函數(shù)庫(kù),這種方式也需要依賴服務(wù)器所處環(huán)境,因此最好的方式是采用go標(biāo)準(zhǔn)庫(kù)中的函數(shù)對(duì)密碼進(jìn)行加密。

使用crypto函數(shù)庫(kù)

go的crypto標(biāo)準(zhǔn)庫(kù)封裝了很多中加密算法,采用SHA加密算法進(jìn)行密碼加密的代碼如下:

package utilimport (  "crypto/sha1"  "encoding/base64")func GetSha(password string) string {  s := sha1.New()  s.Write([]byte(password))  passwordSum := []byte(s.Sum(nil))  return base64.StdEncoding.EncodeToString(passwordSum)}

測(cè)試過(guò)程中通過(guò)調(diào)用GetSha()函數(shù)生成了對(duì)密碼加密的字符串,但是直接配置在nginx的conf/htpasswd文件中,reload nginx配置后測(cè)試驗(yàn)證密碼是否生效,結(jié)果還是報(bào)錯(cuò),原來(lái)如前文所述,SHA加密的密碼必須帶有“{SHA}”前綴才可以,再次修改配置后經(jīng)過(guò)驗(yàn)證,成功地用代碼生成了nginx支持的對(duì)密碼加密的字符串。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持VEVB武林網(wǎng)。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到服務(wù)器教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
日韩成人在线播放| 中国免费黄色片| 久久国产精品久久精品| 91福利在线导航| 91麻豆福利精品推荐| 97久久人国产精品婷婷| 国产高潮流白浆| 国产一级二级av| 欧美黑人经典片免费观看| 欧美凹凸一区二区三区视频| 日本午夜人人精品| 久久人人爽人人爽爽久久| 欧美videossexotv100| 欧美丝袜第一区| 亚洲欧美激情视频在线观看一区二区三区 | 欧美精品一二三四| 亚洲国产视频一区| 亚洲综合视频网| 国产欧美日韩激情| www国产亚洲精品久久麻豆| 国产精品免费在线视频| 亚洲精品久久久久久久久久久久久 | 欧美18—19性高清hd4k| 欧美日韩精品一区二区天天拍小说 | 国产精久久久久| 蜜臀av一区二区三区| 欧美日韩在线精品一区二区三区| 免费av网站大全久久| 欧美最猛黑人xxxxx猛交| 中文字幕免费精品一区| 免费在线观看视频一区| 日本一区二区欧美| 国产偷人妻精品一区| www.亚洲成人网| 含羞草久久爱69一区| 亚洲精品自拍视频| 亚洲精品免费在线| 亚洲黄色三级视频| 色一情一伦一子一伦一区| 日韩久久久久久久久久久久| 国产老妇另类xxxxx| 中文字幕亚洲色图| 人人狠狠综合久久亚洲| 国产欧美精品一区二区三区介绍 | 精品久久久久久久久久久久久久久久| 欧美卡1卡2卡| 9久久婷婷国产综合精品性色 | 欧美精品电影免费在线观看| 国产熟妇一区二区三区四区| 国内精品一区二区三区| 日韩精品一区不卡| 国产精品99久久久久久www| 欧美 日韩 亚洲 一区| 肉色超薄丝袜脚交69xx图片| 国产中文欧美精品| 麻豆成人久久精品二区三区小说| 26uuu久久噜噜噜噜| 99国产精品一区二区三区| 中文字幕欧美精品在线| 中文字幕人妻一区| √天堂中文官网8在线| 日韩免费观看在线观看| 在线视频一区二区三| 国产理论片在线观看| 久久综合毛片| 中文字幕不卡一区| 亚洲精品自拍偷拍| 91精品国产91久久久久久最新毛片| 午夜精品久久久久久久久久| 欧美精品一区三区| 欧美日韩在线视频观看| 欧美日韩国产经典色站一区二区三区 | 亚洲精品久久久久久无码色欲四季| 无码精品黑人一区二区三区| 国产精品一区二区视频| 亚洲人亚洲人成电影网站色| 欧美色欧美亚洲另类二区| 亚洲精品suv精品一区二区| 久热在线中文字幕色999舞| 国产精品久久中文| 综合网五月天| 搡的我好爽在线观看免费视频| 黄色短视频在线观看| 粉嫩aⅴ一区二区三区| 亚洲欧美激情另类| 国产午夜亚洲精品午夜鲁丝片| 五月天一区二区| 国产视频在线观看一区二区| 青青青国产精品一区二区| 免费久久久一本精品久久区| 日韩一级片播放| 免费黄色激情视频| 亚洲日本在线播放| 亚洲乱码中文字幕| 亚洲男人天堂九九视频| 国产精品精品国产| 一区二区三区我不卡| 国产探花一区二区三区| 日本中文字幕久久| 国产乱码精品一区二区三区忘忧草 | 久久伊人精品天天| 91在线观看网站| 九九久久国产精品| 亚洲av片不卡无码久久| 婷婷色中文字幕| 日本欧美一区二区| 亚洲亚洲人成综合网络| 丝袜亚洲另类欧美重口| 看高清中日韩色视频| 天天爽夜夜爽视频| 国产精品视频一区二区三区,| 91在线看国产| 国产手机视频精品| 欧美精品亚洲精品| 波多野结衣办公室33分钟| 国产免费一区二区三区免费视频| 国产日韩欧美综合一区| 亚洲另类图片色| 久久久久久久有限公司| 极品白嫩的小少妇| 久久精品电影| 欧美色综合影院| 91精品国产综合久久香蕉| 日本中文字幕高清| 一区二区视频播放| 亚洲欧美欧美一区二区三区| 久久精品91久久香蕉加勒比| 色呦呦网站入口| 日韩成人短视频| 国产精品一区免费视频| 亚洲国产精品久久久久秋霞不卡| 国产一区免费在线观看| 深爱五月激情网| 美女视频黄频大全不卡视频在线播放| 欧美日韩高清一区| 国产有色视频色综合| 亚洲黄色免费视频| 4444在线观看| 成人久久久久久久久| 国产 日韩 亚洲 欧美| 北条麻妃在线视频观看| 亚洲精品在线免费播放| 亚洲国产精品久久久久秋霞不卡| 欧美成人在线网站| 欧美日本韩国国产| 热久久最新地址| 欧洲美女和动交zoz0z| 日产精品久久久一区二区| 亚洲福利在线播放| 日韩亚洲视频| 日本一级黄色录像| 中文字幕日韩av资源站| 欧美高清视频免费观看| 成人免费在线观看视频网站| 色wwwwww| 精品三级在线观看| 无码毛片aaa在线| 欧美人一级淫片a免费播放| 亚洲午夜精品在线| 成人激情视频在线观看| 性少妇bbw张开| 国产日韩欧美a| 欧美亚洲视频一区二区| 免费在线观看成年人视频| 不卡视频一二三| 欧美精品videossex88| 黑人巨大猛交丰满少妇| 成人精品视频一区| 91av免费观看91av精品在线| 精品奇米国产一区二区三区| 欧美大片在线看| 精品国产一区二区三区四区在线观看| 日韩欧美国产综合在线| 国产免费不卡av| 欧美电影精品一区二区| 最新中文字幕亚洲| 99se婷婷在线视频观看| 2019中文字幕在线观看| 成人精品在线观看| 四虎国产成人精品免费一女五男| 国产馆精品极品| 日韩高清a**址| 国产日本一区二区三区| 在线播放av网址| 日本视频www色| 日韩精品 欧美| 天天操天天干天天爽| 精品视频久久久久久久| 熟女少妇精品一区二区| 国产美女视频91| 7777精品视频| 欧美人妻精品一区二区免费看| 亚洲第一av色| 在线码字幕一区| 日韩精品欧美精品| 欧美激情国产高清| 国产午夜精品理论片| 色婷婷综合视频在线观看| 欧美a级黄色大片| 久久精品99国产精品| 日产精品久久久一区二区福利| 欧美三根一起进三p| 欧美一a一片一级一片| 成 年 人 黄 色 大 片大 全| 国产麻豆精品95视频| 国产精品视频999| 中文字幕一级片| 中文字幕日韩欧美在线| 中文字幕被公侵犯的漂亮人妻| 精品欧美一区二区三区| 亚洲熟妇无码另类久久久| a在线播放不卡| 黄色国产精品一区二区三区| 神马一区二区三区| 国产国语刺激对白av不卡| 国内自拍视频在线播放| 中文无字幕一区二区三区| 久久精品人人做人人爽| 欧美成人精品一区| 一区二区视频在线观看| 久久九九99| 欧洲美女免费图片一区| 一本到在线视频| 亚洲精品之草原avav久久| 免费国偷自产拍精品视频| 成人精品视频.| 亚洲视频在线观看一区二区三区| 成人h动漫精品一区| 天天影视色香欲综合网老头| 每日在线观看av| 中文子幕无线码一区tr| 天天干天天色天天爽| 99久久亚洲一区二区三区青草 | 在线欧美小视频| 超碰在线免费av| 欧美最猛黑人xxxxx猛交| 欧美日韩在线免费视频| 成人资源av| 日韩免费高清在线| 亚洲欧美乱综合| 免费观看成人网| 亚洲国产精品一区二区久久恐怖片 | 在线精品观看国产| 午夜免费一级片| 欧美日韩一区高清| 欧美午夜激情影院| 亚洲精品久久久一区二区三区| 粉嫩av蜜桃av蜜臀av| 精品精品欲导航| 久草国产在线观看| 久久99视频精品| 精品人妻伦一二三区久久| 国产精品日韩专区| 精品夜夜嗨av一区二区三区| 日本高清成人免费播放| 丰满少妇被猛烈进入高清播放| 国产精品熟女视频| 欧洲亚洲精品在线| 中日韩精品视频在线观看| 国产欧美日韩精品丝袜高跟鞋| 久热精品视频| 亚洲精品无人区| 色综合一个色综合| 精品国产乱码久久久久夜深人妻| 樱桃国产成人精品视频| 国产欧美在线观看一区| 日本中文字幕网址| 亚洲国产成人tv| 男人添女人荫蒂国产| 欧美一区中文字幕| 久久免费视频精品| 国产成人精品最新| 国产一区二区美女诱惑| 成人国产在线看| 亚洲成人av中文| 在线免费观看视频| 日韩中文在线中文网在线观看| 97久久人国产精品婷婷| 不卡一卡2卡3卡4卡精品在| www.在线成人| 在线观看亚洲色图| 欧美videos大乳护士334| 狠狠人妻久久久久久综合| 91精品久久久久久久久久另类| 国产91精品一区二区麻豆网站| 黄页网站在线观看视频| 欧美高清视频一二三区| 日韩精品在线免费视频| 99re国产视频| 亚洲乱码中文字幕| 欧美成人久久久免费播放| 日av在线播放中文不卡| 国产成a人亚洲| 中文字幕第38页| 亚洲人精选亚洲人成在线| 国产理论片在线观看| 一区二区三区三区在线| 色欧美片视频在线观看| 精品无码m3u8在线观看| 91久久精品美女| 中文字幕一区三区| 韩国国内大量揄拍精品视频| 日本美女一区二区三区视频| 久久精品国产精品青草色艺| www.黄色一片| 97超碰在线资源| 污视频在线免费观看一区二区三区| 日韩电影中文字幕| 国产精品另类一区| 亚洲精品毛片一区二区三区| 麻豆传媒网站在线观看| 精品无人区乱码1区2区3区在线| 天堂中文在线看| 欧美少妇性性性| 一级片aaaa| 在线观看成人免费| 亚洲成人激情在线观看| 午夜视频福利在线观看| 国产l精品国产亚洲区久久| 中文国产亚洲喷潮| 国产精品资源站在线| 国产精品果冻传媒| 国产精品 欧美在线| 综合久久给合久久狠狠狠97色| 成人免费毛片xxx| 裸模一区二区三区免费| 欧美日韩二区三区| 成熟老妇女视频| 影音先锋日韩有码| 91麻豆精品国产| 国产一二精品视频| 四虎永久在线精品| 成人免费视频播放| 中文字幕精品一区| 亚洲美女淫视频| 欧美激情亚洲自拍| 亚洲成人激情小说| 一区二区三区视频免费在线观看| 男人透女人免费视频| 成人小视频在线看| 最新免费av网址| 国产精品无码一区二区三| 亚洲精品小视频| 成人免费精品视频| 污片在线免费看| 婷婷丁香综合网| 欧美怡春院一区二区三区| 成人网在线免费视频| 午夜免费一区二区| 亚洲免费看黄网站| 欧美中文在线视频| 亚洲奶汁xxxx哺乳期| 精品少妇在线视频| 久久99久久久久久久久久久| 91久久精品国产91性色| 午夜av区久久| 久久久99久久精品欧美| 国产免费高清视频| 久久久久久久国产视频| 色噜噜狠狠一区二区| 日本成年人网址| dy888午夜| 亚洲综合在线小说| 精品国产乱码久久久久久久| 无码国产69精品久久久久网站| 久久电影一区二区| av动漫一区二区| 国产无遮挡又黄又爽| 黄色一级片免费播放| 麻豆av福利av久久av| 超碰97人人做人人爱少妇| 色视频www在线播放国产成人| 日本一区视频在线播放| 国产视频精品在线| 国产精品女主播av| 欧美一级淫片aaaaaa| 欧美做受高潮6| 欧美a级免费视频| 成人国产精品免费视频| 亚洲大胆人体视频| 一区二区三区日本| 老司机午夜精品99久久| caoporn国产| 日本三级日本三级日本三级极| 在线日韩av永久免费观看| 欧美性做爰毛片| 亚洲国产天堂网精品网站| 亚洲欧美日韩国产综合在线| 亚洲国产视频一区二区三区| 成熟人妻av无码专区| 男人插女人下面免费视频| 久久久久久国产精品免费免费| 美女撒尿一区二区三区| 欧美福利电影网| 日韩理论片在线| 国产精品白丝jk黑袜喷水| 国产三级午夜理伦三级| 午夜免费激情视频| 性高潮免费视频| 国产裸体舞一区二区三区| 日本成人黄色| 久久这里只有精品6| 久久综合99re88久久爱| 一区二区成人在线| 精品国产乱码久久久久久久| 成人黄色av电影| av一本久道久久综合久久鬼色| 国产精品18久久久久久vr| 国内国产精品久久| 国产精品一区免费在线观看|