Skip to content

许久以前通过手机查工大分数、课表、教室的项目;学校官方的态度是不赞成使用

License

MIT, MIT licenses found

Licenses found

MIT
LICENSE
MIT
COPYING
Notifications You must be signed in to change notification settings

qiguanqiang/Reverse-Proxy-of-BXUT-gdjwgl

Repository files navigation

Reverse-Proxy-of-BXXX-gdjwgl

The base service of ... what?

一、简介

此项目使用Nginx作为反向代理服务器,通过搭建VPN和重定向路由在外网代理出北x大校园内网的教务管理系统,让流量经过外网访问x大教务管理系统。

二、环境

本项目在CentOS 7.6、Nginx-1.12.2、MotionPro-1.3.2下成功部署运行。

三、原理

1、Nginx反向代理

通过修改Nginx配置文件,可以把Nginx当做反向代理服务器来使用,让流量在外网-反向代理服务器-北x大校内网之间形成通路。所谓反向代理就是让一台服务器(称为反向代理服务器)转发被代理服务器的流量,让流量访问反向代理服务器就可以实现访问被代理服务器的效果。
涉及软件包——Nginx-1.12.2,其配置文件——/etc/nginx/nginx.conf

2、VPN

VPN是为实现反向代理功能提供条件,因为反向代理服务器在校外网,被代理服务器在校内网,故需要搭建VPN使之能让反向代理服务器访问校内网。
涉及软件包——MotionPro-1.3.2,相关脚本:connect.sh(连接VPN)、route_add.sh(修改路由表)

==现在修改路由表的脚本很粗糙。需要改善。==

3、运维相关

日志分割

为了方便维护服务器、查看和分析日志,也为了避免日志太大造成读写效率下降,使用脚本按日期分割日志
涉及脚本:split.sh

自动化任务

vxx.bxxx.edu.cn的连接大概24小时自动断一次,所以每天要不断重连。现在的自动化工具更换成了crontab

==发现vxx.bxxx.edu.cn有不稳定问题,会在连接不到24小时内随机掉线,没有做掉线检测功能,所以掉线后不能及时重连。有待改善。==

# crontab -l
0 0 * * * MotionPro -s && sh ~/proxy/connect.sh && sh ~/proxy/route_add.sh #每天00:00重连VPN、修改路由表
0 5 * * * sh ~/proxy/split.sh && nginx -s reload # 每天05:00分割日志

四、总结

总得来说这个项目分为两部分,一是业务功能部分:使用Nginx、VPN修改路由表实现反向代理;二是方便运维管理部分:修改路由表也出于这样的原因,毕竟连上VPN后不能SSH,其他的分割日志、自动化运维也属于这个部分。

About

许久以前通过手机查工大分数、课表、教室的项目;学校官方的态度是不赞成使用

Resources

License

MIT, MIT licenses found

Licenses found

MIT
LICENSE
MIT
COPYING

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages