Tyk Gateway & Dashboard run at port 80 and custom domain

Hello,

I’m using this script: https://gist.github.com/lonelycode/4f645c4733faaa74d8fd to install Tyk-gateway and Tyk-dashboard.

It’s running all fine, but I need something as this specific:

I need to run

  • API-Gateway at domain. net (root domain), port 80
  • API-dashboard at developer.domain. net, port 80 (so that my developers will no need to put :3000 to access my page)

======

As I can see the source code of the gist file above, it’s using the same docker command as your docker page, but I’m wondering if I can set the port to port 80, and set the API-gateway domain as well as dashboard port and domain name?

======

I’m running Tyk On-premise on OVH server, Centos7. All Mongodb, Redis, Tyk-gateway, tyk-dashboard, docker is in the latest version.

Thank you much!

Can someone please help me or at least tell me what to do, the right keyword to search for?

Thank you!

Hello!

You have 2 options here:

  1. Put nginx on top of your infrastructure which will handle domain routing.
  2. Proxy everything though Gateway, including dashboard. So Dashboard will be basically a “new” API where upstream URL is your dashboard url with port 3000, and custom domain field is developer.domain.net

Since Tyk is also a reverse proxy, it can work. Note that you should have “enable_custom_domains” set to true in tyk.conf.

Also note that Dashboard consist of 2 parts, Developer portal and Admin dashboard. And you can bind them to separate domains. To bind Portal to separate domain, you can use top menu “Set your portal domain” action, or using Dashboard Organizations API and setting CNAME field to your org.

Hope it helps.

Hello Leon,

Thank you for your suggestion, I’m doing routing with Nginx, will pack as docker to share with you guys.

For the portal, can we make it as:

As I can see, both dashboard and portal is running at port 3000, if I set the portal path is “/” instead of “/portal”, it will be the conflict with the dashboard somehow?

Please let me know what you think!