代码拉取完成,页面将自动刷新
同步操作将从 pandora/proxygateway 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
PGW(Proxy Gateway)
Proxy Gateway基于openresty(nginx lua module)开发,通过web配置界面,能够轻松进行代理配置管理,支持负载均衡,服务器状态检测,后续简称PGW。包括以下特性
安装
cd /usr/local/openresty/nginx
git clone https://git.oschina.net/fengfei/proxygateway.git
然后把/usr/local/openresty/nginx/conf/nginx.conf 用源码中的nginx.conf替换即可
worker_processes 2;
events {
worker_connections 102400;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
lua_shared_dict cache 10m;
#换成你的实际路径,这里将源码中src目录加入到 lua_package_path
lua_package_path '/usr/local/openresty/nginx/proxygateway/src/?.lua;;';
#lua_code_cache off;
upstream servers {
server 127.0.0.1;
balancer_by_lua_block{
local balancer = require "balancer"
balancer.balancing()
}
}
init_worker_by_lua_block{
require "init"
}
server {
listen 80 default_server;
server_name localhost;
location / {
set $backend_host '127.0.0.1';
set $backend_port 80;
set $newhost '';
set $upstream 'http://servers';
access_by_lua_block{
local access = require "access"
access.dispatch()
}
proxy_set_header Host $newhost;
proxy_http_version 1.1;
proxy_pass $upstream;
}
error_log logs/error.log;
}
#将源码中的 manage.conf 路径
include /usr/local/openresty/nginx/proxygateway/manage.conf;
}
server {
listen 8081;
server_name localhost;
index index.html;
location /api/v1 {
access_by_lua_block{
local access = require "manage.access"
access.checkLogin()
}
content_by_lua_block{
local ctl = require "manage.controller"
ctl.run()
}
}
location /static {
#源码中html的实际路径
root /usr/local/openresty/nginx/proxygateway/html;
}
location / {
access_by_lua_block{
local access = require "manage.access"
access.checkLogin()
}
#源码中html的实际路径
root /usr/local/openresty/nginx/proxygateway/html;
}
}
管理配置
Request uri | Original uri | 说明 |
---|---|---|
/ | / | 将所有对PGW某个域下的请求转发到后端服务器 |
/u | /user | 将所有对PGW某个域下/u开头的请求重写成/user后转发到后端服务器,例如,请求 /u/1001 转发到后端服务器为 /user/1001 |
/topic/([0-9]+)/([0-9]+) | /topic?uid=$1&tid=$2 | 支持正则匹配,请求 /topic/1001/2002 转发到后端服务器为 /topic?uid=1001&tid=2002 |
/t%?tid=(.*) | /topic?tid=$1 | 支持正则匹配,Request uri中如果有 ? 出现,需要在前面加上 % |
所有接口映射配置必须以 / 开头,同一个域下面 Request uri 不能重复,Request uri字符串越长匹配优先级越高
演示地址
http://a.fengfei.org/ 用户名/密码 admin/admin
添加域名后,请将域名cname解析到 a.fengfei.org 然后可在你添加的域名下做代理配置
其中配置的一个google代理,欢迎测试 http://google.fengfei.org/
后续
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。