反向代理教務(wù)系統(tǒng)
反向代理工大教務(wù)管理系統(tǒng)
本教程以北京工業(yè)大學(xué)教務(wù)系統(tǒng)舉例
所謂反向代理工大教務(wù)管理系統(tǒng)的目的,就是方便在外網(wǎng)(工大外部網(wǎng)絡(luò))使用工大教務(wù)管理系統(tǒng)。
使用條件
-
一臺(tái)可以在公網(wǎng)環(huán)境訪問(wèn)的機(jī)器(通常就是云虛擬機(jī)),安裝系統(tǒng)位Ubuntu 14;
-
一個(gè)工大學(xué)生或老師賬號(hào),總之要能訪問(wèn) vpn.bjut.edu.cn;
虛擬機(jī)環(huán)境配置
- Nginx
- MotionPro(必須是帶命令行的版本,通過(guò)一番搜索我終于 找到了,本次使用MotionPro_Linux_CentOS_x86-64_1.0.4.sh)
用到的腳本
- rc.local (/etc/rc.loacl,linux的開機(jī)啟動(dòng)自動(dòng)執(zhí)行腳本)
- connect.sh (通過(guò)MotionPro連接工大vpn)
- route_add.sh (修改路由表,目的是你的linux機(jī)器可以同時(shí)訪問(wèn)工大vpn和公網(wǎng),如果不修改路由表,你的虛擬機(jī)在連接到vpn后,會(huì)和你自己斷開連接,這時(shí)候連ssh都連不上了,只能通過(guò)主機(jī)提供商的后臺(tái)重啟機(jī)器,切記切記)
- reboot.sh (很直白,就重啟linux主機(jī))
- spilt.sh (時(shí)間久了,nginx的日志會(huì)很大,這個(gè)就是切割日志用的,not important)
- init.corn (這個(gè)是通過(guò) 主動(dòng)調(diào)用crontab init.cron,設(shè)置定時(shí)任務(wù),定時(shí)重啟機(jī)器,定時(shí)切割日志)
- nginx.conf (nginx 的配置文件,很重要)
別看這么多文件,實(shí)際沒(méi)什么東西,都很簡(jiǎn)單
腳本執(zhí)行順序
-
安裝Nginx,配置對(duì)gdjwlg.bjut.edu.cn 的反向代理,nginx安裝完成后會(huì)生成/etc/nginx/nginx.conf 配置文件,參考我在github上提供的nginx.conf,完成反向代理設(shè)置,這個(gè)nginx這塊不細(xì)細(xì)講,主要是我也不會(huì)。但我提供的配置腳本原則上沒(méi)啥問(wèn)題,可以直接用
-
安裝Motion Pro,我在github上提供了可以用的一個(gè)MotionPro,原則上你可以直接安裝使用(裝完后可以自己想辦法調(diào)用connect.sh試試是否裝的成功,但是執(zhí)行這個(gè)腳本后,你就和你的虛擬主機(jī)失去聯(lián)系了,當(dāng)然,如果你有一臺(tái)linux的pc,那就可以直接測(cè)試了,成功的標(biāo)志就是能打開工大的教務(wù)系統(tǒng),但是卻連不上百度)
-
(確保第二步測(cè)試成功,否則后面會(huì)比較麻煩)此時(shí)需要的軟件就都裝好了,我們需要在終端執(zhí)行crontab init.cron,添加定時(shí)任務(wù),主要有兩個(gè),一個(gè)是定時(shí)重啟,一個(gè)是定時(shí)分割日志,分割日志這個(gè)不重要,說(shuō)說(shuō)問(wèn)什么要定時(shí)重啟
定時(shí)重啟是因?yàn)閷W(xué)校的vpn連接會(huì)自動(dòng)斷開,原因不詳,據(jù)我觀察應(yīng)該是24個(gè)小時(shí)斷開,所以就需要添加一個(gè)重啟腳本,每天00:00重啟我們的主機(jī)
-
rc.loacl,我們只需要變基這個(gè)文件,它位于/etc/rc.local,是系統(tǒng)的自啟動(dòng)腳本,記錄了什么軟件需要開機(jī)后啟動(dòng),這個(gè)文件我已經(jīng)編輯好,放在此項(xiàng)目目錄下面了,你只需要對(duì)照更改你虛擬機(jī)上的即可。
-
沒(méi)有5了,所有的任務(wù)都在rc.local里面執(zhí)行了。
rc.local
rc.local 里面按照順序是:
connext.sh ---> route_add.sh ---> nginx
下面是rc.local里相關(guān)的內(nèi)容
sh /home/cjw1115/route/connect.sh #連接vpn
sleep 4s #確保vpn連接成功,稍微等等
sh /home/cjw1115/route/route_add.sh >> /home/cjw1115/route/log_add.txt #修改路由表
sleep 4s
./usr/sbin/nginx #啟動(dòng)nginx
./usr/sbin/nginx -s reload #以防萬(wàn)一,重新加載一下
結(jié)束
至此,我們就完成了反向代理出教務(wù)系統(tǒng)的的全部操作,其實(shí)你會(huì)發(fā)現(xiàn),以上內(nèi)容里面,和教務(wù)系統(tǒng)相關(guān)的大概就只有nginx配置里面的代理網(wǎng)址了,所以意思就是工大內(nèi)部的任何網(wǎng)站,你都可以通過(guò)這種方式反向代理出來(lái)。

浙公網(wǎng)安備 33010602011771號(hào)