81 lines
1.9 KiB
Markdown
81 lines
1.9 KiB
Markdown
|
# HTTP
|
|||
|
HTTP 协议。
|
|||
|
|
|||
|
::: warning
|
|||
|
**http 协议没有对传输加密,不适宜经公网中传输,更容易成为被人用作攻击的肉鸡。**
|
|||
|
:::
|
|||
|
|
|||
|
`http inbound` 更有意义的用法是在局域网或本机环境下监听,为其他程序提供本地服务。
|
|||
|
|
|||
|
|
|||
|
::: tip TIP 1
|
|||
|
`http proxy` 只能代理 tcp 协议,udp 系的协议均不能通过。
|
|||
|
:::
|
|||
|
|
|||
|
::: tip TIP 2
|
|||
|
在 Linux 中使用以下环境变量即可在当前 session 使用全局 HTTP 代理(很多软件都支持这一设置,也有不支持的)。
|
|||
|
|
|||
|
- `export http_proxy=http://127.0.0.1:8080/` (地址须改成你配置的 HTTP 入站代理地址)
|
|||
|
- `export https_proxy=$http_proxy`
|
|||
|
:::
|
|||
|
|
|||
|
## InboundConfigurationObject
|
|||
|
|
|||
|
```json
|
|||
|
{
|
|||
|
"timeout": 0,
|
|||
|
"accounts": [
|
|||
|
{
|
|||
|
"user": "my-username",
|
|||
|
"pass": "my-password"
|
|||
|
}
|
|||
|
],
|
|||
|
"allowTransparent": false,
|
|||
|
"userLevel": 0
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
> `timeout`: number
|
|||
|
|
|||
|
连接空闲的时间限制。单位为秒。默认值为 `300`, 0 表示不限时。
|
|||
|
|
|||
|
处理一个连接时,如果在 `timeout` 时间内,没有任何数据被传输,则中断该连接。
|
|||
|
|
|||
|
> `accounts`: \[[AccountObject](#accountobject)\]
|
|||
|
|
|||
|
一个数组,数组中每个元素为一个用户帐号。默认值为空。
|
|||
|
|
|||
|
当 `accounts` 非空时,HTTP 代理将对入站连接进行 Basic Authentication 验证。
|
|||
|
|
|||
|
> `allowTransparent`: true | false
|
|||
|
|
|||
|
当为 `true` 时,会转发所有 HTTP 请求,而非只是代理请求。
|
|||
|
|
|||
|
::: tip
|
|||
|
若配置不当,开启此选项会导致死循环。
|
|||
|
:::
|
|||
|
|
|||
|
> `userLevel`: number
|
|||
|
|
|||
|
用户等级,连接会使用这个用户等级对应的[本地策略](../../base/policy#levelpolicyobject)。
|
|||
|
|
|||
|
userLevel 的值, 对应 [policy](../../base/policy#policyobject) 中 level 的值. 如不指定, 默认为 0.
|
|||
|
|
|||
|
### AccountObject
|
|||
|
|
|||
|
```json
|
|||
|
{
|
|||
|
"user": "my-username",
|
|||
|
"pass": "my-password"
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
> `user`: string
|
|||
|
|
|||
|
用户名,字符串类型。必填。
|
|||
|
|
|||
|
> `pass`: string
|
|||
|
|
|||
|
密码,字符串类型。必填。
|
|||
|
|