pub struct Firewall {
pub ip_policy_mode: AllowDenyPolicy,
pub ip_policy: HashSet<String>,
pub trust_ips: HashSet<String>,
pub referer_policy_mode: AllowDenyPolicy,
pub referer_policy: HashSet<String>,
pub allow_empty_referer: bool,
pub max_connections: Option<usize>,
pub api_secret_encrypt_key: [u8; 32],
pub tls_cert: Option<Vec<u8>>,
pub tls_key: Option<Vec<u8>>,
}Expand description
防火墙配置
防火墙中不配置插件,因为插件需要获取请求上下文,而上下文是在安全校验后才提取的,在防火墙执行阶段无法获取。 但是可以使用全局插件的方式在获取请求上下文后再校验。
Fields§
§ip_policy_mode: AllowDenyPolicyIP策略模式,allow或deny
ip_policy: HashSet<String>IP策略值,例如:192.168.1.1 TODO 暂不支持网段,后面再支持
trust_ips: HashSet<String>受信IP
受信IP将直接放行,不受访问策略的影响
referer_policy_mode: AllowDenyPolicyReferer策略模式,allow或deny
referer_policy: HashSet<String>Referer策略值,例如:https://aaa.com
allow_empty_referer: bool是否允许空Referer
max_connections: Option<usize>单个网关节点的最大连接数限制
api_secret_encrypt_key: [u8; 32]API密钥的加密密钥,长度固定为32位,由控制台验证长度。 可能为空字符串,为空时使用默认密钥
tls_cert: Option<Vec<u8>>TLS证书
tls_key: Option<Vec<u8>>TLS密钥
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Firewall
impl<'de> Deserialize<'de> for Firewall
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for Firewall
impl RefUnwindSafe for Firewall
impl Send for Firewall
impl Sync for Firewall
impl Unpin for Firewall
impl UnsafeUnpin for Firewall
impl UnwindSafe for Firewall
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more