Hey, thanks for your answers!
@janvda: yes ping results to the IP of traefik, but the way described in your link is eactly the same I tried:
middlewares:
addprefix:
addPrefix:
prefix: "/apps/calendar/p/A1B2C3"
services:
cal-http:
loadBalancer:
servers:
- url: http://172.16.12.20:80
http:
routers:
cal-lokal-http:
service: cal-http
middlewares:
- addprefix
rule: Host(`cal`)
entryPoints:
- http
that leads to nextcloud redirecting (302) to http://cal/login. When I call nextcloud with the full URL directly there is no redirect. That also works from within the traefik container.
The traefik logs like this for the full/normal request:
externalIP - - [05/Feb/2020:20:59:21 +0100] "GET /apps/calendar/p/A1B2C3 HTTP/1.1" 200 3518 "-" "-" 50402 "nextcloud@docker" "http://172.16.12.20:80" 104ms
For the http://cal request it looks like this:
externalIP - - [05/Feb/2020:20:59:49 +0100] "GET / HTTP/1.1" 302 0 "-" "-" 50411 "cal-lokal-http@file" "http://172.16.12.20:80" 78ms
externalIP - - [05/Feb/2020:20:59:49 +0100] "GET /login HTTP/1.1" 200 3444 "-" "-" 50412 "cal-lokal-http@file" "http://172.16.12.20:80" 75 ms
So from what I understand nextcloud doesn't really recognize the added prefix and therefore just redirects to login like it normally does when called at the root domain..
What did I do wrong?! Did I get the concept wrong?
@daniel.tomcej: I don't really understand why, but I don't get any nextcloud log entries when calling those URLs.
Edit:
From what I understand, it could be, because nextcloud relies on certain apps to be called from specific paths only, so it relies on calendars only be called from /apps/calendars. Any chance to fake that path to nextcloud?
So the client calls http://cal/ but nextcloud thinks the path is http://cal/apps/calendar?