由于V2board面板特征导致V2board的域名经常被墙,那么使用前后端分离+API专用域名即可防墙。
步骤
首先,我们需要三个域名
前端访问域名:客户访问的域名
后端接口域名:保证不被墙的域名,前端访问时候调用api
墙外域名:管理用
1.配置前端
使用这个主题,部署直接将代码git clone到网站根目录,修改config.js
这个网站使用的域名是客户访问的域名
反向代理,这里主要是用于不暴露后端接口地址,同时能够订阅
// 需要修改“后端接口域名”为你的域名
location = /api/v1/client/subscribe {
proxy_pass https://后端接口域名;
proxy_set_header Host 后端接口域名;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}2.后端接口地址
这里需要准备一个没有被墙的域名,网站内容还是V2board,那么现在的思路就是只保留api而不允许其他路径访问。
在nginx.conf配置文件中添加如下片段
location / {
return 403;
}然后修改伪静态
location /downloads {
}
location ^~ /api/ {
try_files $uri $uri/ /index.php$is_args$query_string;
}
location ~ .*\.(js|css)?$
{
expires 1h;
error_log off;
access_log /dev/null;
}这样就只有/api能访问了
3.后台登陆
使用墙外域名,正常配置nginx即可
采用 CC BY-NC-SA 4.0 协议授权,转载请注明来源。