Multiple registrations bug


#1

Hi Tyk,

Our Tyk dashboard and portal are running on the same host and port. Both runs on port 3000. I have to set the cname of the organization to the ipadres of the hostname, in able to run the portal and dashboard on the same host. If I set the DNS name of the host, i’'m not able to start the Tyk dashboard. The following error is thrown:
time=“Jun 26 10:28:59” level=info msg=“Generating portal for: HOSTNAME”
panic: http: multiple registrations for HOSTNAME
goroutine 1 [running]:
panic(0xa85e60, 0xc4204365a0)
/usr/local/go/src/runtime/panic.go:500 +0x1a1
net/http.(*ServeMux).Handle(0xc420325170, 0xc420438cc0, 0x1d, 0xf2cec0, 0xc420436590)
/usr/local/go/src/net/http/server.go:2038 +0x5d5
main.GenerateRoutes()
/src/github.com/TykTechnologies/tyk-analytics/Main.go:905 +0x2ff6
main.main()
/src/github.com/TykTechnologies/tyk-analytics/Main.go:922 +0x77

Is this a bug or do I need to change my configuration?


#2

Please see my Tyk Dashboard config:
{
“listen_port”: 3000,
“tyk_api_config”: {
“Host”: “HOSTNAME”,
“Port”: “443”,
“Secret”: “SECRET”
},
“mongo_url”: “mongodb://127.0.0.1/tyk_analytics”,
“shared_node_secret”: “SECRET”,
“license_key”: “SECRETLICENSEKEY”,
“page_size”: 10,
“admin_secret”: “ADMINSECRET”,
“redis_port”: 6379,
“redis_host”: “localhost”,
“redis_password”: “”,
“force_api_defaults”: false,
“notify_on_change”: true,
“license_owner”: “Your Name”,
“hash_keys”: true,
“email_backend”: {},
“hide_listen_path”: false,
“use_sentry”: false,
“sentry_code”: “”,
“sentry_js_code”: “”,
“show_org_id”: true,
“enable_duplicate_slugs”: true,
“host_config” : {
“override_hostname”: “HOSTNAME”,
“disable_org_slug_prefix”: true,
“enable_host_names”: true,
“hostname”: “HOSTNAME”,
“portal_domains”: {},
“portal_root_path”: “/portal”,
“generate_secure_paths”: true,
“use_strict_hostmatch”: false
},
“http_server_options”: {
“use_ssl”: true,
“certificates”: [
{
“domain_name”: “HOSTNAME”,
“cert_file”: “LOCATIONOFCERT”,
“key_file”: “LOCATIONOFKEY”
}
]
},
“ui”: {
“login_page”: {},
“nav” : {},
“uptime”: {},
“portal”: {},
“designer”: {},
“languages”: {
“English”: “en”,
“Chinese”: “cn”,
“Korean”: “ko”
},
“default_lang”: “en”
},
“home_dir”: “/opt/tyk-dashboard”,
“identity_broker”: {
“enabled”: false,
“host”: {
“connection_string”: “HOSTNAME”,
“secret”: “SECRET”
}
},
“enable_aggregate_lookups”: true,
“aggregate_lookup_cutoff”: “01/07/2016”,
“oauth_redirect_uri_separator”: “;”,
“private_key_path”: “”
}


#3

The hostname for the dashboard and for the portal must be different.
I would suggest not setting the hostname for the dashboard at all (it will listen to everything), and only set the portal one.