只是想知道在尝试使用 Tyk Dashboard 创建 API 时我在这里缺少什么。
我的设置是:
Nginx > Apache Tomcat 8 > Java Web Application > (database)
Nginx 已经在工作,将调用重定向到默认端口 8080 的 apache tomcat。
示例:tomcat.myserver.com/webapp/get/1 200-OK
我之前使用自定义节点端口 8011 设置了 tyk-dashboard 和 tyk-gateway,如下所示:
泰克仪表板:
$ sudo /opt/tyk-dashboard/install/setup.sh --listenport=3000 --redishost=localhost --redisport=6379 --mongo=mongodb://127.0.0.1/tyk_analytics --tyk_api_hostname=$HOSTNAME --tyk_node_hostname=http://127.0.0.1 --tyk_node_port=8011 --portal_root=/portal --domain="dashboard.tyk-local.com"
泰克网关:
/opt/tyk-gateway/install/setup.sh --dashboard=1 --listenport=8011 --redishost=127.0.0.1 --redisport=6379 --domain=""
/etc/hosts已经配置(不是真的需要):
127.0.0.1 dashboard.tyk-local.com
127.0.0.1 portal.tyk-local.com
Tyk Dashboard 配置(这里没什么特别的):
- API 名称:foo
- 监听路径:/foo
- API 蛞蝓: foo
- 目标网址:tomcat.myserver.com/webapp/
我想调用什么 URI?我需要在 Nginx 中添加任何设置吗?
- myserver.com/foo 502 nginx
- myserver.com:8011/foo 没有响应
- foo.myserver.com 502 nginx
(一切都在同一台服务器下运行)
解决了:
Tyk 网关配置不正确。需要在 setup.sh添加--mongo
和删除指令:--domain
/opt/tyk-gateway/install/setup.sh --dashboard=1 --listenport=8011 --redishost=localhost --redisport=6379 --mongo=mongodb://127.0.0.1/tyk_analytics
因此,调用 curl -H "Authorization: null" 127.0.0.1:8011/foo 我得到:
{
"error": "Key not authorised"
}