国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Nginx的圖書館遠程授權(quán)訪問系統(tǒng)開發(fā)

2016-09-26 21:08葉見春
卷宗 2016年7期
關(guān)鍵詞:數(shù)字資源

摘 要:Nginx是一款時下非常流行的輕量級網(wǎng)頁服務器和反向代理服務器,具有許多其他同類產(chǎn)品所不具備的優(yōu)點。本文開發(fā)了一個基于Nginx的圖書館遠程授權(quán)訪問系統(tǒng),實際應用表明該系統(tǒng)具有配置簡潔、用戶界面友好以及擴展模塊功能強大等優(yōu)點,值得高校圖書館推廣使用。

關(guān)鍵詞:Nginx 反向代理;遠程授權(quán)訪問;數(shù)字資源

基金項目:湖州師范學院校級科研項目(2014XJKY39)

近年來,隨著云計算、大數(shù)據(jù)等熱點技術(shù)的迅速崛起,高校圖書館數(shù)字資源建設(shè)也取得了突飛迅猛的發(fā)展,許多高校開始建設(shè)各種綜合型或?qū)I(yè)化數(shù)字圖書館來滿足師生讀者的多樣化數(shù)字閱讀需求。在這樣的大背景下,圖書館如何利用現(xiàn)有條件為校外讀者提供版權(quán)數(shù)字化資源便成了一個新的課題。構(gòu)建圖書館遠程授權(quán)訪問系統(tǒng)是解決這個新課題的有效途徑之一。筆者借助本單位圖書館已有的軟硬件資源,搭建開發(fā)了一個基于Nginx的圖書館遠程授權(quán)訪問系統(tǒng),該系統(tǒng)具有配置簡潔、客戶端界面友好以及擴展模塊功能強大等優(yōu)點,報告如下。

1 系統(tǒng)開發(fā)與測試

1.1 系統(tǒng)運行軟件環(huán)境

(1)操作系統(tǒng):CentOS 6.4 64bit

(2) 反向代理服務器:Nginx 1.4.1

(3)身份認證數(shù)據(jù)庫:MySql 5.0.77

(4)身份認證模塊:PAM-Mysql

1.2 遠程訪問模塊搭建

(1)編譯并安裝Nginx,編譯前注意添加www用戶組和組內(nèi)用戶www,編譯時加上身份認證模塊ngx_http_auth_pam,正則表達式模塊(URL重寫)pcre,替換模塊

nginx_substitutions_filter以及用于安全連接的openssl模塊,編譯完成之后使用

iptables命令將需要訪問的端口加入到防火墻例外之中。

(2)修改nginx配置文件nginx.conf實現(xiàn)對數(shù)據(jù)庫的遠程訪問[1],配置修改如下:

location / {

proxy_pass http://DATABASE URL;

subs_fliter DATABASE ADDRESS1 LOCAL ADDRESS1;

……

subs_fliter DATABASE ADDRESSn LOCAL ADDRESSn;

rewrite REGULAREXPRESSION1 REPLACEMENT 1;

……

rewrite REGULAREXPRESSIONn REPLACEMENT n;

}

其中,proxy_pass是nginx自帶的反向代理命令,可以將外部對目標虛擬主機特定端口的訪問反向代理至對http://DATABASE URL的訪問;sub_fliter是實現(xiàn)網(wǎng)頁中文本替換的第三方Nginx模塊,主要用于解決數(shù)據(jù)庫地址中含有多個子域名時容易跳出反向代理服務器問題,相比官方自帶的substitution替換模塊,sub_fliter可以同時替換多于一條的文本字符串;rewrite模塊是nginx的URL重寫模塊,它可以通過正則表達式匹配來替換滿足特定條件的URL字符串,在此案例中用來解決部分數(shù)據(jù)庫在子域名之間的跳轉(zhuǎn)問題,同時,rewrite模塊不能對數(shù)據(jù)庫站點中其他同級別的二級子域名下的URL進行重寫,因此需要sub_fliter的配合使用。

當需要同時配置多個數(shù)據(jù)庫時,可以通過創(chuàng)建偵聽不同端口的虛擬主機來實現(xiàn)對不同數(shù)據(jù)庫的反向代理訪問,同樣,許多存在二級子域名的數(shù)據(jù)庫也可以對各個二級子域名分配不同的反向代理虛擬主機來進行管理。

1.3 身份認證模塊搭建

Nginx反向代理服務器可以通過自帶的HttpAuthBasicModule模塊來實現(xiàn)基于HTTP基本認證的身份認證方式,使用它可以零編碼實現(xiàn)一個用戶認證體系,但是同時這種認證方式有一個明顯的缺點,就是使用明文的htpasswd文件方式來存儲用戶名密碼,不僅在安全性方面大打折扣,也為以后需要頻繁更新用戶數(shù)據(jù)造成了不小的困擾,因此,一種新的認證方法應運而生:PAM,它使用主流數(shù)據(jù)庫軟件來存儲用戶名密碼,而不是htpasswd文件。

1.3.1安裝軟件

ngx_http_auth_pam在Nginx編譯安裝時已經(jīng)作為第三方模塊加載。下載并編譯安裝pam-mysql。

1.3.2 模塊配置

(1) 配置Mysql

Mysql主要用來存儲授權(quán)用戶的用戶名和密碼,因此需要建一個數(shù)據(jù)庫和一張表,然后配置訪問Mysql的賬號:

create database pam_nginx_user;

use pam_nginx_user;

create table nguser ( userid varchar(18),password varchar(30), primary key (userid)) ;

執(zhí)行完上面語句之后,得到:

庫:pam_nginx_user

表:nguser

字段:userid, password

(2) 配置pam-mysql[2]

在/etc/pam.d/下建一個文本文件nginx-mysql-pam,并輸入以下內(nèi)容:

auth required /lib/security/pam_mysql.so

host=localhost db=pam_nginx_user table=nguser usercolumn=userid passwdcolumn=password crypt=2

account required /lib/security/pam_mysql.so

host=localhost db=pam_nginx_user table=nguser usercolumn=userid passwdcolumn=password crypt=2

(3) 配置Nginx,修改nginx.conf文件

server {

listen PortNumber;

server_name DomainName.com;

location / {

auth_pam "mysql pam";

auth_pam_service_name "nginx-mysql-pam”;

root /…/;

}

}

1.4 系統(tǒng)測試

登陸Mysql后,在pam_nginx_user數(shù)據(jù)庫中的nguser表中插入一條用于增加用戶名密碼的記錄:insert into nguser values (‘pamuser,password(‘123456)),并訪問Nginx反向代理服務器監(jiān)聽的Web端口,出現(xiàn)如下圖的對話框:

輸入賬號密碼,進入主頁面,提示訪問成功,如下圖所示:

2 系統(tǒng)特點

本文開發(fā)的遠程授權(quán)訪問系統(tǒng)解決了筆者所在學校圖書館部分數(shù)字資源的遠程獲取問題。筆者所在學校教職工原來在非校園網(wǎng)獲取本校圖書館購買的數(shù)字版權(quán)資源需要登錄學校VPN,而VPN需要插件安裝,更新,瀏覽器兼容性等一些列問題,而反向代理服務由于是純基于瀏覽器訪問的形式,因此無需考慮插件問題,僅僅需要一個兼容版的網(wǎng)頁瀏覽器就能實現(xiàn)數(shù)字資源的遠程訪問和獲取。

本文開發(fā)的遠程授權(quán)訪問系統(tǒng)采用pam數(shù)據(jù)庫的形式進行身份認證,相比一些采用Nginx HTTP Auth Basic模塊的遠程授權(quán)訪問系統(tǒng)[3],具有安全性高,可維護性強等優(yōu)點,用戶名密碼加密后保存在Mysql數(shù)據(jù)庫中,相比Nginx HTTP Auth Basic模塊用htpasswd文件明文存儲用戶名密碼在配置文件中,大大提高了安全性,也從很大程度上降低了以后的用戶群體維護成本。

本文開發(fā)的遠程授權(quán)訪問系統(tǒng)主要存在2點不足之處:第一,用戶界面過于簡單,期待通過后期版本的迭代開發(fā)來豐富各種功能,完善用戶體驗;第二,一些大型數(shù)據(jù)庫如CNKI等出于商業(yè)利益,對反向代理技術(shù)有所屏蔽,導致不能通過該系統(tǒng)來實現(xiàn)數(shù)字資源的遠程訪問和獲取。

3 討論

隨著知識爆炸時代的來臨,信息和資源的數(shù)量迅猛增多,圖書館資源的數(shù)字化也成為未來圖書館發(fā)展趨勢之一。在各大高校數(shù)字圖書館的建設(shè)中,遠程授權(quán)訪問系統(tǒng)的建設(shè)成為其中一項不可或缺的獲取數(shù)字資源的手段。目前國內(nèi)各大高校圖書館采用的遠程授權(quán)訪問系統(tǒng)主要有以下3種:(1)SSL VPN系統(tǒng)。采用此類方案首先需要采購SSL VPN的硬件設(shè)備,并將其搭內(nèi)在內(nèi)網(wǎng)環(huán)境之中,通過配套的身份認證軟件,讀者便可以很方便地通過各種終端的瀏覽器來對校內(nèi)授權(quán)數(shù)字資源進行讀取,這種方案優(yōu)點在于讀者在通過身份認證之后便可以像在校園網(wǎng)內(nèi)部一樣通過不同的瀏覽器來獲取所有可用的數(shù)字資源,缺點在于前期需要價格不菲的硬件和軟件的投入,而沒有充分利用已有的服務器和網(wǎng)絡資源[4]。(2)易瑞遠程授權(quán)訪問系統(tǒng)。易瑞遠程授權(quán)訪問系統(tǒng)由北京英富森信息技術(shù)有限公司開發(fā),以流式重寫與端口映射的方式,實現(xiàn)公共圖書館、高校和科研機構(gòu)圖書館電子資源的授權(quán)與館(校)外訪問;以電子資源管理與導航的模式,實現(xiàn)對讀者及資源的靈活授權(quán)控制,并提供強大的統(tǒng)計功能。缺點是需要一定的軟件授權(quán)費用,而且對每一個期刊數(shù)據(jù)庫都需要配置,它使用不同的虛擬主機目錄來區(qū)分不同的期刊數(shù)據(jù)庫。(3)Ezproxy系統(tǒng)。該系統(tǒng)屬于一款網(wǎng)頁代理服務器,與易瑞遠程授權(quán)訪問系統(tǒng)類似,它集成了簡單的身份認證功能,也同樣需要對每一個期刊數(shù)據(jù)庫進行配置,并使用不同的服務器端口來區(qū)分不同的期刊數(shù)據(jù)庫,同時軟件的授權(quán)需要一定費用。

Nginx是一款面向性能設(shè)計的HTTP服務器,由俄羅斯程序員Igor Sysoev開發(fā),它能夠作為HTTP,HTTPS,SMTP,POP3以及IMAP協(xié)議的反向代理服務器,同時又能用來作為網(wǎng)頁負載均衡服務器或是HTTP緩存服務器,可以運行在Microsoft Windows、UNIX、GNU/Linux、BSD、Mac OS X、Solaris、AIX、HP-UX等操作系統(tǒng)中。Nginx以類似BSD協(xié)議的條款來發(fā)行,因而也屬于自由開源軟件。類似于Apache網(wǎng)頁服務器的事件模型,Nginx使用異步事件驅(qū)動方式來處理請求,它的模塊化的事件驅(qū)動架構(gòu)在高負載情況下能夠提供更好的可以預見的性能提升。在Linux操作系統(tǒng)下,Nginx使用epoll事件模型,得益于此,Nginx在Linux操作系統(tǒng)下效率相當高。同時Nginx在OpenBSD或FreeBSD操作系統(tǒng)上采用類似于epoll的高效事件模型kqueue[5]。Nginx整體采用模塊化設(shè)計,甚至HTTP服務器核心功能也是一個模塊,這是Nginx的一個重大特點。Nginx帶有豐富的模塊庫和第三方模塊庫,配置靈活。

本文基于開源軟件Nginx和現(xiàn)有服務器資源,自建了圖書館遠程授權(quán)訪問系統(tǒng),實現(xiàn)了帶授權(quán)認證的反向代理服務器功能。從運行效果來看,該系統(tǒng)具有以下優(yōu)點:用戶界面友好,使用方便快捷;配置靈活,開發(fā)成本低;能夠合理利用現(xiàn)有的軟硬件資源,實現(xiàn)資源節(jié)約。因此,筆者認為,基于Nginx的圖書館遠程授權(quán)訪問系統(tǒng)值得推廣運用。

參考文獻

[1] 張宴. 實戰(zhàn)Nginx[M]. 北京:電子工業(yè)出版社, 2010.

[2] 周軍宏. Centos7中支持虛擬用戶vsftpd 服務的配置[J].電腦知識與技術(shù),2015,11(30):41-42.

[3] 宿大東. 采用Nginx 遠程訪問圖書館內(nèi)網(wǎng)數(shù)字資源[J]. 內(nèi)蒙古科技與經(jīng)濟,2013, (13),69-70.

[4] 尋大勇. SSL VPN網(wǎng)絡安全技術(shù)的應用研究[J]. 通信技術(shù),2009,(1),248-252.

[5] 陶輝. 深入理解Nginx[M]. 北京:機械工業(yè)出版社, 2013.

作者簡介

葉見春,館員,學士,從事數(shù)字圖書館建設(shè)、維護與開發(fā)。

猜你喜歡
數(shù)字資源
山東省新建本科院校圖書館數(shù)字資源建設(shè)研究
淺談數(shù)字資源在小學數(shù)學課堂的有效提高運用
美術(shù)教科書使用應把握的幾個視角
圖書館員新角色
評價高校圖書館數(shù)字資源綜合服務能力
新媒體時代的多元化閱讀推廣實踐
利用數(shù)字資源優(yōu)化語文童話教學研究