国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > Nginx > 正文

在Nginx中增加對OAuth協議的支持的教程

2024-08-30 12:22:16
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了在Nginx中增加對OAuth協議的支持的教程,OAuth協議如今廣泛用于社交網絡的API中,需要的朋友可以參考下

我們使用Nginx的Lua中間件建立了OAuth2認證和授權層。如果你也有此打算,閱讀下面的文檔,實現自動化并獲得收益。

SeatGeek在過去幾年中取得了發展,我們已經積累了不少針對各種任務的不同管理接口。我們通常為新的展示需求創建新模塊,比如我們自己的博客、圖表等。我們還定期開發內部工具來處理諸如部署、可視化操作及事件處理等事務。在處理這些事務中,我們使用了幾個不同的接口來認證:

    Github/Google Oauth     我們SeatGeek內部的用戶系統     基本認證     硬編碼登錄

顯然,實際應用中很不規范。多個認證系統使得難以對用于訪問級別和通用許可的各種數據庫進行抽象。

單系統認證

我們也做了一些關于如何設置將解決我們問題的研究。這促使了Odin的出現,它在驗證谷歌應用的用戶方面工作的很好。不幸的是它需要使用Apache,而我們已和Nginx結為連理并把它作為我們的后端應用的前端。

幸運的是,我看了mixlr的博客并引用了他們Lua在Nginx上的應用:

    修改響應頭     重寫內部請求     選擇性地基于IP拒絕主機訪問

最后一條看起來很有趣。它開啟了軟件包管理的地獄之旅。

構建支持Lua的Nginx

Lua for Nginx沒有被包含在Nginx的核心中,我們經常要為OSX構建Nginx用于開發測試,為Linux構建用于部署。
為OSX定制Nginx

對于OSX系統,我推薦使用Homebrew進行包管理。它初始的Nginx安裝包啟用的模塊不多,這有非常好的理由:

    關鍵在于NGINX有著如此之多的選項,如果把它們都加入初始包那一定是瘋了,如果我們只把其中一些加入其中就會迫使我們把所有都加入,這會讓我們瘋掉的。
                                                                   - Charlie Sharpsteen, @sharpie

所以我們需要自己構建。合理地構建Nginx可以方便我們以后繼續擴展。幸運的是,使用Homebrew進行包管理十分方便快捷。

我們首先需要一個工作空間:

復制代碼 代碼如下:cd ~
mkdir -p src
cd src

之后,我們需要找到初始安裝信息包。你可以通過下面任何一種方式得到它:

    找到HOMEBREW_PREFIX目錄,通常在/usr/local下,在其中找到nginx.rb文件     從下列地址取得https://raw.github.com/mxcl/homebrew/master/Library/Formula/nginx.rb     使用如下命令 brew cat nginx > nginx.rb

此時如果我們執行brew install ./nginx.rb命令, 它會依據其中的信息安裝Nginx。既然現在我們要完全定制Nginx,我們要重命名信息包,這樣之后通過brew update命令進行更新的時候就不會覆蓋我們自定義的了:

復制代碼 代碼如下:mv nginx.rb nginx-custom.rb
cat nginx-custom.rb | sed 's/class Nginx/class NginxCustom/' >> tmp
rm nginx-custom.rb

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 集安市| 阳高县| 永城市| 盘锦市| 云南省| 广州市| 峨边| 宣威市| 汶上县| 怀远县| 阿拉善左旗| 镇巴县| 柳河县| 普安县| 合江县| 诸暨市| 金阳县| 抚远县| 成武县| 贵阳市| 崇州市| 潞城市| 宜兰市| 宽城| 翼城县| 高邑县| 康马县| 文昌市| 黄梅县| 依安县| 康乐县| 海丰县| 怀宁县| 叙永县| 哈密市| 西乌珠穆沁旗| 潢川县| 上杭县| 高安市| 商河县| 深泽县|