经验分享
JXWAF 节点自定义端口部署
Docker Compose 部署
services:
jxwaf_base:
image: ccr.ccs.tencentyun.com/jxwaf/jxwaf_node:v1.25 # JXWAF节点镜像
network_mode: host # 使用宿主机网络模式(直接暴露端口)
privileged: true # 特权模式(需访问系统级资源)
ulimits:
nofile:
soft: 602400 # 文件描述符软限制(推荐值)
hard: 602400 # 文件描述符硬限制(推荐值)
environment:
HTTP_PORT: 8000 # 监听HTTP流量端口
HTTPS_PORT: 8443 # 监听HTTPS流量端口
WAF_CONF_DATA: 1000m # WAF配置文件缓存配置
JXWAF_INNER: 2000m # 内部缓存配置
JXWAF_PUBLIC: 2000m # 组件缓存配置
JXWAF_REQUEST_COUNT: 200m # 流量防护引擎缓存配置
JXWAF_REQUEST_IP: 200m # 流量防护引擎缓存配置
JXWAF_REQUEST_IP_COUNT: 200m # 流量防护引擎缓存配置
JXWAF_LIMIT_BOT: 200m # 流量防护引擎缓存配置
JXWAF_SERVER: you_jxwaf_server_url # WAF控制台服务器地址(需替换)
WAF_AUTH: you_auth_key # WAF控制台认证密钥(需替换)
TZ: Asia/Shanghai # 时区设置
restart: unless-stopped # 自动重启策略(除非手动停止)
volumes:
- /opt/jxwaf_data/nginx_cache:/opt/jxwaf_data/nginx_cache # 持久化Nginx缓存数据
docker-compose.yml 配置文件说明:
HTTP_PORT
修改为需要自定义监听的端口,例如 8000
HTTPS_PORT
修改为需要自定义监听的端口,例如 8443
自定义端口的情况下,HTTP_PORT 和 HTTPS_PORT 都是必须进行修改的,不能只改动其中之一。
控制台新增网站配置
当前自定义端口为:
HTTP端口 8000
HTTPS端口 8443
以 域名:www.jxwaf.com 和 IP: 1.1.1.1 为例
可配置为:
www.jxwaf.com:8000
www.jxwaf.com:8443
1.1.1.1:8000
1.1.1.1:8443
根据实际情况进行配置即可
新增节点默认配置
场景说明
当一个网站对应大量域名的时候,或者网站域名经常动态变化,这个时候为每个域名新增网站配置的工作量将会很大,可以通过节点默认配置来快速实现防护需求。
节点默认配置是指定一个JXWAF节点,当请求经过该节点时,会先匹配网站域名配置,匹配不到的时候,正常是会返回404,而新增节点默认配置后,会将所有未匹配的域名,都通过节点默认配置的设置进行防护和回源。
配置说明
JXWAF控制台 -> 运营中心-> 节点状态
查看节点对应的UUID,如图
可以看到当前存在两个节点 5315b76a-2fb3-41c3-ad0e-df4f0e5212f7 和 09f9245b-a8c9-4239-805a-aa7099641674
本次我们需要为节点09f9245b-a8c9-4239-805a-aa7099641674开启默认配置
假设业务服务器地址为1.1.1.1,端口为8080,回源协议为HTTP,则配置如下:
JXWAF控制台 -> 防护管理 -> 网站防护 -> 新建网站
如果开启HTTPS,则需要通配符SSL证书,配置如下:
如果是两个不同的域名,例如 a.com 和 b.com ,HTTPS情况下则需要两个节点分别进行配置,分布设置 SSL证书为 *.a.com和 *.b.com