traefik UI after update not available anymore via HTTPS, port 8080 is still working - https

I have a running system containing from:
portainer CE 2.13.1
traefik 2.6.1
I now updated to:
portaient CE 2.15.0
traefik 2.8.4
now the routing to my containers works fine but the ui of traefik is only available under port 8080 but no longer via HTTPS. I have a subdomain traefik.{FQDN} which hints to the ip where portainer and traefik are hosted.
When I call https://traefik.{FQDN} I can see that it correctly redirects to web secure, the correct TLS certificate is shown but a 404 page not found message is all I can see on the screen.
I have no idea what is the reason for this. Anyone has a hint?

Related

How to host Apache and Nginx on the same server?

I'm trying to host a django site in conjunction with nginx and gonicorn on a hosting, but this hosting already hosts php sites running apache. In the nginx site settings, I have port 80 registered and when I start nginx, it says that this port is already taken by apache.
I changed the port in the site config
But the site does not open on the direct domain http://help.buhcrm.ru/
It opens only when added to the port address specified at the beginning http://help.buhcrm.ru:300/
The hosting technical support service replied that http://help.buhcrm.ru/ is proxied on port 443, but this port is occupied by apache
I don't want to touch apache configs, because this is not my server and I'm afraid to break everything

SSL certificate for Spring boot application with nginx running on the same server

I have server that run docker with Nginx container inside which serve react build files inside, this nginx server have an installed and working SSL certificate on port 80 and 443.
On the same machine I have an JRE that run an Spring boot application that running on port 8801.
I have search for some infomation online related to how to create an SSL certificate for spring boot when port 80 and 443 is in use, or what is the best practice to do it simultaneously with the existance of SSL certificate, And could not find any.
My friend suggest to me that we will use reverse proxy in order to hide: http://example.com:8801 under https://example.com:80/api
What could be the best way to do it?
Thanks!
You would want to terminate the SSL on Nginx and offload that load on the application server (spring boot running tomcat, for eg.).
One reason to take SSL all the way to the app server is when the communication medium between those two needs to be kept secure. But if the app server and the web server are within the DMZ, you can just use the first approach and terminate on the web server. There is a lot of optimization that goes into web servers to handle TLS termination.
Refer to this for already detailed responses and insights.

SSL_ERROR_INTERNAL_ERROR_ALERT when accessing api platform

API Platform V.2.6.5 with docker-compose downloaded from the official website
Problem : I can't send requests to the API, or access the UI from my browser. I'm facing a SSL_ERROR_INTERNAL_ERROR_ALERT
This is a brand new project I did not edit any file.
Note that i'm using Docker Toolbox for Windows and my docker is running on https://192.168.100.0, not localhost.
I tried on anoter PC where the domain for docker is localhost and it works.
However, the containers start well. I can even create entities and update my database.
Do you have an idea why this error is happening and how to resolve this ?
Most likely it's a caddy thing not having a valid SSL certificate, check at
docker-compose logs caddy
Here is an issue at caddy community: https://caddy.community/t/local-ip-address-creates-ssl-error/11314

Docker on Windows server and multiple websites listening port 80 and 443

When installing ASP.NET Core apps on a windows machine, I used to install the websites within IIS, I used the bindings there to route depending on the URL to the correct web application and I used Letsencrypt to create the SSL certificates.
Now I want to start shipping my applications using Docker. The samples show, how to easily create an ASP.NET Core dockerized project, but that's where most of them end. So in the end I've got an ASP.NET application in my docker running listening on port 5000.
Are there any suggestion or resources showing how to set it up on a production system?
multiple web sites listening on the standard ports 80 and 443 and forwaring to the correct docker image
SSL certificate handling
Setup ngingx as a front end. It is world-class solution, used by top-traffic sites as a front-end for incoming requests.
Among other features it does:
Redirecting based on plenty of rules
SSL management (you can use unencrypted connections behind it)
Load balancing
It is free and available as docker image.
So, you open only ngingx outside your docker network, and make it route all your traffic inside.
Setup reverse proxy like nginx, even in IIS also you redirect to corresponding docker service having a particular port. You can fan out traffic to respective ports.
Image: https://blogs.msdn.microsoft.com/friis/2016/08/25/setup-iis-with-url-rewrite-as-a-reverse-proxy-for-real-world-apps/

Golang websocket server on docker container won't send out message to outside world

I have a golang backend, node frontend. And it worked both on windows and ubuntu without docker. Now I am trying to dockerize everything. I put both backend and frontend in the same docker container. I can establish initial connection but later the backend kept throwing error like this:
I have exposed port 8000 to 8004, the ws port is 8000 and frontend port is 8004. I have tried both --net=host as well as exposing everything as host ip address 192.168.1.4. Non of them worked.
On the browser side, the websocket client always get 101 response like this:
I think it could be a config problem on docker. But I have no lead right now on how to deal with this. The browser tested is Chrome 55 on windows 10. Docker, golang and node are of the latest. The host machine is on Ubuntu 16.10 as well as container os.

Resources