CasaOS Gateway is a dynamic API gateway service that can be used to expose APIs from different other HTTP based services.
This gateway service comes with a simple management API for other services to register their APIs by route paths. A HTTP request arrived at gateway port will be forwarded to the service that is registered for the route path.
As a best practice, a service behind this gateway should bind to localhost (
127.0.0.1
for IPv4,::1
for IPv6) ONLY, so no external network access is allowed.
Upon launching, it will search for gateway.ini
file in the following order:
./gateway.ini
./conf/gateway.ini
$HOME/.casaos/gateway.ini
/etc/casaos/gateway.ini
See gateway.ini.sample for default configuration.
Once running, gateway address and management address will be available in the files under RuntimePath
specified in configuration.
$ cat /var/run/casaos/gateway.url
[::]:8080 # port is specified in configuration
$ cat /var/run/casaos/management.url
[::]:34703 # port is randomly assigned
Assuming that
34703
8080
http://localhost:12345/ping
that simply returns pong
.Then register the API as follows:
POST http://localhost:34703/v1/gateway/routes
{
"path": "/ping",
"target": "http://localhost:12345"
}
or in command line:
$ curl 'localhost:34703/v1/routes' --data-raw '
{"path": "/ping", "target": "http://localhost:12345"}
'
Now run
$ curl localhost:8080/ping
{"message":"pong"}
... which is equivalent as
$ curl localhost:12345/ping
{"message":"pong"}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。