999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

2016-09-26 21:08:46葉見春
卷宗 2016年7期

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

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

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

近年來,隨著云計算、大數(shù)據(jù)等熱點技術的迅速崛起,高校圖書館數(shù)字資源建設也取得了突飛迅猛的發(fā)展,許多高校開始建設各種綜合型或專業(yè)化數(shù)字圖書館來滿足師生讀者的多樣化數(shù)字閱讀需求。在這樣的大背景下,圖書館如何利用現(xiàn)有條件為校外讀者提供版權數(shù)字化資源便成了一個新的課題。構建圖書館遠程授權訪問系統(tǒng)是解決這個新課題的有效途徑之一。筆者借助本單位圖書館已有的軟硬件資源,搭建開發(fā)了一個基于Nginx的圖書館遠程授權訪問系統(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用戶組和組內用戶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)網頁中文本替換的第三方Nginx模塊,主要用于解決數(shù)據(jù)庫地址中含有多個子域名時容易跳出反向代理服務器問題,相比官方自帶的substitution替換模塊,sub_fliter可以同時替換多于一條的文本字符串;rewrite模塊是nginx的URL重寫模塊,它可以通過正則表達式匹配來替換滿足特定條件的URL字符串,在此案例中用來解決部分數(shù)據(jù)庫在子域名之間的跳轉問題,同時,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編譯安裝時已經作為第三方模塊加載。下載并編譯安裝pam-mysql。

1.3.2 模塊配置

(1) 配置Mysql

Mysql主要用來存儲授權用戶的用戶名和密碼,因此需要建一個數(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,并輸入以下內容:

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

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

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

3 討論

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

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

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

參考文獻

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

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

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

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

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

作者簡介

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

主站蜘蛛池模板: 99精品在线视频观看| 亚洲丝袜第一页| 亚洲欧美人成人让影院| 亚洲乱伦视频| 无码AV日韩一二三区| 在线免费观看AV| 丝袜高跟美脚国产1区| a欧美在线| 曰AV在线无码| AV不卡无码免费一区二区三区| 中文国产成人精品久久| 久久综合色天堂av| 国产在线第二页| 日韩成人高清无码| 啪啪啪亚洲无码| 一级片免费网站| 热99re99首页精品亚洲五月天| 国产传媒一区二区三区四区五区| 国产一级在线观看www色| 婷婷色一区二区三区| 亚洲国产精品无码久久一线| 国产在线观看91精品亚瑟| 国产午夜人做人免费视频中文| 3344在线观看无码| 91视频青青草| 日本高清在线看免费观看| 玖玖免费视频在线观看 | 久热这里只有精品6| 又粗又硬又大又爽免费视频播放| 国产精品xxx| 亚洲精品无码高潮喷水A| 免费国产高清精品一区在线| 久热这里只有精品6| 免费无码一区二区| 欧美日韩中文国产| 国产成人无码播放| 一级高清毛片免费a级高清毛片| 亚洲性日韩精品一区二区| 中文字幕亚洲乱码熟女1区2区| 97人人模人人爽人人喊小说| 国产精品对白刺激| 欧美日本中文| 国产青榴视频在线观看网站| 国产毛片基地| 婷婷综合在线观看丁香| 亚洲综合欧美在线一区在线播放| 丰满人妻久久中文字幕| 亚洲床戏一区| 伊人色综合久久天天| 精品国产成人a在线观看| 亚洲欧美激情另类| 97在线公开视频| 国产二级毛片| 美女无遮挡拍拍拍免费视频| 亚洲精品欧美重口| 国产成人高清精品免费5388| 无码日韩精品91超碰| 久久这里只精品国产99热8| 欧美日韩免费在线视频| 5555国产在线观看| 在线欧美a| 亚洲天堂网在线播放| 色噜噜久久| 老司机午夜精品网站在线观看| 久久香蕉国产线看观| 成人精品在线观看| 欧美a√在线| 免费人成视频在线观看网站| 亚洲综合二区| 亚洲欧美成人综合| 无码高潮喷水在线观看| 亚洲男人在线| 国产欧美日韩在线在线不卡视频| 日本一区中文字幕最新在线| 欧美日韩中文国产| 国产精品开放后亚洲| 亚洲欧美国产高清va在线播放| 亚洲视频免费播放| 国产丝袜无码一区二区视频| 国产一区在线观看无码| 免费va国产在线观看| 久久99国产综合精品女同|