配置代理
通过 proxy controller 创建 proxy rules,可以对外开放 Cargo。
代理规则将指定 IP 地址、端口或域名转发到 Cargo 上游。
添加代理规则
继续之前,需要有名为 my-cargo 的 Cargo 在运行,并在 9001 端口提供 HTTP 服务。
创建 proxy.deploy-example.yml 文件,复制以下内容:
ApiVersion: v0.18
Resources:
- Name: deploy-example.com
Kind: ncproxy.io/rule/v0.15
Data:
Rules:
# Domain name for the target
- Domain: deploy-example.com
# See https://docs.next-hat.com/references/nanocl/objects/resource#proxy-rule-network
# For more information about proxy rule network
Network: All
# List of target by path for maximum flexibility
Locations:
- Path: /
Target:
# Canonical target: `namespace.name.c` for a Cargo or `namespace.name.v` for a VM
Key: global.my-cargo.c
# Cargo port to target
Port: 9001运行以下命令创建代理规则:
nanocl state apply -s proxy.deploy-example.yml查看已有资源:
nanocl resource ls测试代理规则是否生效:
curl --header "Host: deploy-example.com" 127.0.0.1预期输出:
{
"headers": {
"x-forwarded-proto": "http",
"x-forwarded-for": "127.0.0.1",
"accept": "*/*",
"x-real-ip": "127.0.0.1",
"connection": "close",
"x-forwarded-scheme": "http",
"host": "deploy-example.com",
"user-agent": "curl/8.2.1"
},
"envs": {
" ": "/bin/nanocl-get-started",
"NANOCL_CARGO_INSTANCE": "0",
"NANOCL_NODE_ADDR": "192.168.8.102",
"HOME": "/",
"PATH": "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"TERM": "xterm",
"PORT": "9001",
"HOSTNAME": "global.my-cargo-r0-my-cargo-d4e5f6.c",
"NANOCL_CARGO_KEY": "global.my-cargo",
"NANOCL_CARGO_NAMESPACE": "global",
"NANOCL_NODE": "behuman"
}
}现在你已掌握配置 Cargo 代理规则的方法,开始用 Nanocl 部署吧!
最后更新于