Sametime Migration V11.6 to V12.x

Hello,

i have a customer running Sametime V11.6 Premium on Domino 11, Apache Proxy and Kubernetes (Meeting) also as high availability (HA) through loadbalancer (LB)

We have 3 different addresses attached to the loadbalancer

Notes/Sametime Clients (Chat TCP 1533)
chat.dns.org > LB.IP1 > Domino/Community #1
chat.dns.org > LB.IP1 > Domino/Community #2

Browser Chat (TCP 443)
webchat.dns.org > LB.IP2 > Apache/Proxy #1
webchat.dns.org > LB.IP2 > Apache/Proxy #2

Meeting (TCP 443)
meeting.dns.org > LB.IP3 > Kubernetes Master > Sametime Nodes

Now we plan to switch to Sametime 12.x on Kubernetes and don't want to change any on the client side.

My wish would be to keep existing addresses to its service.

Notes/Sametime Clients (Chat TCP 1533)
chat.dns.org > LB.IP1 > Kubernetes Master > Sametime Master Node (for chat service)

Browser Chat (TCP 443)
webchat.dns.org > LB.IP1 > Kubernetes Master > Sametime Master Node (for webchat service)

Meeting (TCP 443)
meeting.dns.org > LB > Kubernetes Master > Sametime Master Node (for meeting service)

Usually all services are listening on one hostaddress e.g. myst.dns.org and will be internally routed to via Kubernetes Master to its service
myst.dns.org:1533 > community mux pod
myst.dns.org:443 > meeting pod
myst.dns.org/chat:443 > webchat pod
myst.dns.org/stwebclient:443 > legacy "old" webchat

If i try to redirect chat.dns.org to myst.dns.org as an alias, sametime will not accept the service on this address chat.dns.org or any other alias/address other that myst.dns.org.

The same behavior i do have in my docker environment if i try to connect via dns-alias to my sametime server.

I would like to prefer not to open a hcl case and i am sure i am not the only customer having this challenge.

Best regards

Alex Novak


@Alexander Novak Since you have a load balancer in front of the Sametime infrastructure: Could you have a permanent redirect from chat.dns.org to myst.dns.org (I'd know, how to do this in NGINX)?

This way, the browser would automatically change the url without the user having to change anything.

@Thomas Bahn i think the problem here is, that the sametime nginx will not accept any other addresses than myst.dns.org.

I would like to know how to tell sametime nginx to accept alias addresses, because a lot of my customer do not use loadbalancer or proxy in front of sametime.

I am really not happy why this should be so difficult to configure within nginx.

I need to check if the loadbalancer (for this customer) could configure redirection.

Thank you

@Alexander Novak You mean something like this?

server {
listen 443;
listen [::]:443;
  server_name chat.dns.org;

location / {
return 301 https://myst.dns.org$request_uri;
}
}

The only problem is to change the NGINX configuration in the Docker container in a persistent way - or you would have to think about this modification each and every time you reinstall or upgrade Sametime.

Hi,

it was a bit difficult to find the way to modify nginx configuration but i think if found now a solution (on docker - for kubernetes i need to check this again).

  1. copy nginx default configuration from nginx container to custom path
    > docker cp st12-nginx-1:/defaults/default stcustomparam/
  2. change the default file and add my additional hosts, i leave the environment variable REACT_APP_MEETING_SERVER_HOSTNAME inside (variable will read from the docker .env)
  3. add my custom default file to the docker-compose.yml
  4. If i check the nginx configuration within running nginx container i will see all my hostentries
    > docker exec -it st12-nginx-1 cat /config/nginx/site-confs/default

  5. Now i can access with all my hostnames
    meet.novitest.local = hostname & entry within .env (REACT_APP_MEETING_SERVER_HOSTNAME)
    chat.novitest.local = alias
    webchat.novitest.local = alias

Maybe there is a easier configuration, because the nginx-container:/defaults/default file already has variables within
> server_name {{ .Env.REACT_APP_MEETING_SERVER_HOSTNAME }} {{ .Env.REACT_APP_CHAT_SERVER_HOSTNAME | default "" }} {{ .Env.EXTRA_VHOSTS | default "" }};
coming from the .env docker config-file, but setting the parameter within .env does not change anything inside the nginx container.

Update

If i add the parameters directly in the docker-compose.yml file in the section nginx this will work also and it is much easier.