Can't connect through Traefik #23

Closed
opened 2026-04-24 23:02:37 +02:00 by adam · 16 comments
Owner

Originally created by @kulps on GitHub (Nov 15, 2021).

I've recently setup an ABS server behind Traefik and my account works fine with the browser (internal and external) I am unable to connect via the app when using the FQDN through Traefik. If I use the internal IP:Port with the app, it works. I understand this is potentially more of a Traefik issue but I'm unsure what might be needed.
Traefik is implementing HTTPS, which works fine to the browser player but it's clearly missing some config to make it work with the app.

If anyone has a suggestion, I'd be appreciative.

Originally created by @kulps on GitHub (Nov 15, 2021). I've recently setup an ABS server behind Traefik and my account works fine with the browser (internal and external) I am unable to connect via the app when using the FQDN through Traefik. If I use the internal IP:Port with the app, it works. I understand this is potentially more of a Traefik issue but I'm unsure what might be needed. Traefik is implementing HTTPS, which works fine to the browser player but it's clearly missing some config to make it work with the app. If anyone has a suggestion, I'd be appreciative.
adam closed this issue 2026-04-24 23:02:37 +02:00
Author
Owner

@advplyr commented on GitHub (Nov 15, 2021):

Using the browser on your phone are you able to connect and play audiobooks using your domain name and reverse proxy?

It sounds like a certificate issue with the android app. There was an issue resolved recently to allow self signed certificates #28.

Any more info you can provide like error messages?

@advplyr commented on GitHub (Nov 15, 2021): Using the browser on your phone are you able to connect and play audiobooks using your domain name and reverse proxy? It sounds like a certificate issue with the android app. There was an issue resolved recently to allow self signed certificates #28. Any more info you can provide like error messages?
Author
Owner

@advplyr commented on GitHub (Nov 15, 2021):

I just came across a stupid bug where if I enter the IP address with "http" in front it won't connect.

This must be a problem with the logic that checks if it should prepend "http". Doesn't sound like this is your issue, but just want to throw it out there.

@advplyr commented on GitHub (Nov 15, 2021): I just came across a stupid bug where if I enter the IP address with "http" in front it won't connect. This must be a problem with the logic that checks if it should prepend "http". Doesn't sound like this is your issue, but just want to throw it out there.
Author
Owner

@rubbo898 commented on GitHub (Nov 16, 2021):

Same here! I've tried to make the App working with FQDN with no luck.
Looking around I've found a suggestion to add the following middleware (not sure is the same scenario!):

[http.middlewares.middlewares-sslheader.headers]
    [http.middlewares.middlewares-sslheader.headers.customrequestheaders]
        X-Forwarded-Proto = "https"

Here below my Traefik v2.4.7 DEBUG logs:

2021-11-16T08:58:52.854879129Z time="2021-11-16T09:58:52+01:00" level=debug msg="vulcand/oxy/roundrobin/rr: begin ServeHttp on request" Request="{\"Method\":\"GET\",\"URL\":{\"Scheme\":\"\",\"Opaque\":\"\",\"User\":null,\"Host\":\"\",\"Path\":\"/ping\",\"RawPath\":\"\",\"ForceQuery\":false,\"RawQuery\":\"\",\"Fragment\":\"\",\"RawFragment\":\"\"},\"Proto\":\"HTTP/2.0\",\"ProtoMajor\":2,\"ProtoMinor\":0,\"Header\":{\"Accept\":[\"application/json, text/plain, */*\"],\"Accept-Encoding\":[\"gzip\"],\"Accept-Language\":[\"it-IT,it;q=0.9,en-US;q=0.8,en;q=0.7\"],\"Cdn-Loop\":[\"cloudflare\"],\"Cf-Connecting-Ip\":[\"5.90.105.127\"],\"Cf-Ipcountry\":[\"IT\"],\"Cf-Ray\":[\"6aef85216ede3751-MXP\"],\"Cf-Visitor\":[\"{\\\"scheme\\\":\\\"https\\\"}\"],\"If-None-Match\":[\"W/\\\"10-oV4hJxRVSENxc/wX8+mA4/Pe4tA\\\"\"],\"Origin\":[\"http://localhost\"],\"Referer\":[\"http://localhost/\"],\"Sec-Fetch-Dest\":[\"empty\"],\"Sec-Fetch-Mode\":[\"cors\"],\"Sec-Fetch-Site\":[\"cross-site\"],\"User-Agent\":[\"Mozilla/5.0 (Linux; Android 11; IN2013 Build/RP1A.201005.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/95.0.4638.74 Mobile Safari/537.36\"],\"X-Forwarded-For\":[\"5.90.105.127\"],\"X-Forwarded-Host\":[\"[PRIVATE]"],\"X-Forwarded-Port\":[\"443\"],\"X-Forwarded-Proto\":[\"https\"],\"X-Forwarded-Server\":[\"b8edaee95b5f\"],\"X-Real-Ip\":[\"162.158.129.130\"],\"X-Requested-With\":[\"com.audiobookshelf.app\"]},\"ContentLength\":0,\"TransferEncoding\":null,\"Host\":\"[PRIVATE]",\"Form\":null,\"PostForm\":null,\"MultipartForm\":null,\"Trailer\":null,\"RemoteAddr\":\"162.158.129.130:50686\",\"RequestURI\":\"/ping\",\"TLS\":null}"
2021-11-16T08:58:52.854973773Z time="2021-11-16T09:58:52+01:00" level=debug msg="vulcand/oxy/roundrobin/rr: Forwarding this request to URL" ForwardURL="http://172.19.0.24:80" Request="{\"Method\":\"GET\",\"URL\":{\"Scheme\":\"\",\"Opaque\":\"\",\"User\":null,\"Host\":\"\",\"Path\":\"/ping\",\"RawPath\":\"\",\"ForceQuery\":false,\"RawQuery\":\"\",\"Fragment\":\"\",\"RawFragment\":\"\"},\"Proto\":\"HTTP/2.0\",\"ProtoMajor\":2,\"ProtoMinor\":0,\"Header\":{\"Accept\":[\"application/json, text/plain, */*\"],\"Accept-Encoding\":[\"gzip\"],\"Accept-Language\":[\"it-IT,it;q=0.9,en-US;q=0.8,en;q=0.7\"],\"Cdn-Loop\":[\"cloudflare\"],\"Cf-Connecting-Ip\":[\"5.90.105.127\"],\"Cf-Ipcountry\":[\"IT\"],\"Cf-Ray\":[\"6aef85216ede3751-MXP\"],\"Cf-Visitor\":[\"{\\\"scheme\\\":\\\"https\\\"}\"],\"If-None-Match\":[\"W/\\\"10-oV4hJxRVSENxc/wX8+mA4/Pe4tA\\\"\"],\"Origin\":[\"http://localhost\"],\"Referer\":[\"http://localhost/\"],\"Sec-Fetch-Dest\":[\"empty\"],\"Sec-Fetch-Mode\":[\"cors\"],\"Sec-Fetch-Site\":[\"cross-site\"],\"User-Agent\":[\"Mozilla/5.0 (Linux; Android 11; IN2013 Build/RP1A.201005.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/95.0.4638.74 Mobile Safari/537.36\"],\"X-Forwarded-For\":[\"5.90.105.127\"],\"X-Forwarded-Host\":[\"[PRIVATE]"],\"X-Forwarded-Port\":[\"443\"],\"X-Forwarded-Proto\":[\"https\"],\"X-Forwarded-Server\":[\"b8edaee95b5f\"],\"X-Real-Ip\":[\"162.158.129.130\"],\"X-Requested-With\":[\"com.audiobookshelf.app\"]},\"ContentLength\":0,\"TransferEncoding\":null,\"Host\":\"[PRIVATE]",\"Form\":null,\"PostForm\":null,\"MultipartForm\":null,\"Trailer\":null,\"RemoteAddr\":\"162.158.129.130:50686\",\"RequestURI\":\"/ping\",\"TLS\":null}"
2021-11-16T08:58:52.859425796Z time="2021-11-16T09:58:52+01:00" level=debug msg="vulcand/oxy/roundrobin/rr: completed ServeHttp on request" Request="{\"Method\":\"GET\",\"URL\":{\"Scheme\":\"\",\"Opaque\":\"\",\"User\":null,\"Host\":\"\",\"Path\":\"/ping\",\"RawPath\":\"\",\"ForceQuery\":false,\"RawQuery\":\"\",\"Fragment\":\"\",\"RawFragment\":\"\"},\"Proto\":\"HTTP/2.0\",\"ProtoMajor\":2,\"ProtoMinor\":0,\"Header\":{\"Accept\":[\"application/json, text/plain, */*\"],\"Accept-Encoding\":[\"gzip\"],\"Accept-Language\":[\"it-IT,it;q=0.9,en-US;q=0.8,en;q=0.7\"],\"Cdn-Loop\":[\"cloudflare\"],\"Cf-Connecting-Ip\":[\"5.90.105.127\"],\"Cf-Ipcountry\":[\"IT\"],\"Cf-Ray\":[\"6aef85216ede3751-MXP\"],\"Cf-Visitor\":[\"{\\\"scheme\\\":\\\"https\\\"}\"],\"If-None-Match\":[\"W/\\\"10-oV4hJxRVSENxc/wX8+mA4/Pe4tA\\\"\"],\"Origin\":[\"http://localhost\"],\"Referer\":[\"http://localhost/\"],\"Sec-Fetch-Dest\":[\"empty\"],\"Sec-Fetch-Mode\":[\"cors\"],\"Sec-Fetch-Site\":[\"cross-site\"],\"User-Agent\":[\"Mozilla/5.0 (Linux; Android 11; IN2013 Build/RP1A.201005.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/95.0.4638.74 Mobile Safari/537.36\"],\"X-Forwarded-For\":[\"5.90.105.127\"],\"X-Forwarded-Host\":[\"[PRIVATE]\"],\"X-Forwarded-Port\":[\"443\"],\"X-Forwarded-Proto\":[\"https\"],\"X-Forwarded-Server\":[\"b8edaee95b5f\"],\"X-Real-Ip\":[\"162.158.129.130\"],\"X-Requested-With\":[\"com.audiobookshelf.app\"]},\"ContentLength\":0,\"TransferEncoding\":null,\"Host\":\"[PRIVATE]\",\"Form\":null,\"PostForm\":null,\"MultipartForm\":null,\"Trailer\":null,\"RemoteAddr\":\"162.158.129.130:50686\",\"RequestURI\":\"/ping\",\"TLS\":null}"

While from audiobookshelf logs I can only see a ping:

[2021-11-16T08:58:52.857Z] INFO: Recieved ping
[2021-11-16T08:58:21.173Z] INFO: Recieved ping
@rubbo898 commented on GitHub (Nov 16, 2021): Same here! I've tried to make the App working with FQDN with no luck. Looking around [I've found a suggestion](https://community.traefik.io/t/how-to-make-websockets-work-with-traefik-2-0-setting-up-rancher/1732) to add the following middleware (not sure is the same scenario!): ``` [http.middlewares.middlewares-sslheader.headers] [http.middlewares.middlewares-sslheader.headers.customrequestheaders] X-Forwarded-Proto = "https" ``` Here below my Traefik v2.4.7 DEBUG logs: ``` 2021-11-16T08:58:52.854879129Z time="2021-11-16T09:58:52+01:00" level=debug msg="vulcand/oxy/roundrobin/rr: begin ServeHttp on request" Request="{\"Method\":\"GET\",\"URL\":{\"Scheme\":\"\",\"Opaque\":\"\",\"User\":null,\"Host\":\"\",\"Path\":\"/ping\",\"RawPath\":\"\",\"ForceQuery\":false,\"RawQuery\":\"\",\"Fragment\":\"\",\"RawFragment\":\"\"},\"Proto\":\"HTTP/2.0\",\"ProtoMajor\":2,\"ProtoMinor\":0,\"Header\":{\"Accept\":[\"application/json, text/plain, */*\"],\"Accept-Encoding\":[\"gzip\"],\"Accept-Language\":[\"it-IT,it;q=0.9,en-US;q=0.8,en;q=0.7\"],\"Cdn-Loop\":[\"cloudflare\"],\"Cf-Connecting-Ip\":[\"5.90.105.127\"],\"Cf-Ipcountry\":[\"IT\"],\"Cf-Ray\":[\"6aef85216ede3751-MXP\"],\"Cf-Visitor\":[\"{\\\"scheme\\\":\\\"https\\\"}\"],\"If-None-Match\":[\"W/\\\"10-oV4hJxRVSENxc/wX8+mA4/Pe4tA\\\"\"],\"Origin\":[\"http://localhost\"],\"Referer\":[\"http://localhost/\"],\"Sec-Fetch-Dest\":[\"empty\"],\"Sec-Fetch-Mode\":[\"cors\"],\"Sec-Fetch-Site\":[\"cross-site\"],\"User-Agent\":[\"Mozilla/5.0 (Linux; Android 11; IN2013 Build/RP1A.201005.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/95.0.4638.74 Mobile Safari/537.36\"],\"X-Forwarded-For\":[\"5.90.105.127\"],\"X-Forwarded-Host\":[\"[PRIVATE]"],\"X-Forwarded-Port\":[\"443\"],\"X-Forwarded-Proto\":[\"https\"],\"X-Forwarded-Server\":[\"b8edaee95b5f\"],\"X-Real-Ip\":[\"162.158.129.130\"],\"X-Requested-With\":[\"com.audiobookshelf.app\"]},\"ContentLength\":0,\"TransferEncoding\":null,\"Host\":\"[PRIVATE]",\"Form\":null,\"PostForm\":null,\"MultipartForm\":null,\"Trailer\":null,\"RemoteAddr\":\"162.158.129.130:50686\",\"RequestURI\":\"/ping\",\"TLS\":null}" 2021-11-16T08:58:52.854973773Z time="2021-11-16T09:58:52+01:00" level=debug msg="vulcand/oxy/roundrobin/rr: Forwarding this request to URL" ForwardURL="http://172.19.0.24:80" Request="{\"Method\":\"GET\",\"URL\":{\"Scheme\":\"\",\"Opaque\":\"\",\"User\":null,\"Host\":\"\",\"Path\":\"/ping\",\"RawPath\":\"\",\"ForceQuery\":false,\"RawQuery\":\"\",\"Fragment\":\"\",\"RawFragment\":\"\"},\"Proto\":\"HTTP/2.0\",\"ProtoMajor\":2,\"ProtoMinor\":0,\"Header\":{\"Accept\":[\"application/json, text/plain, */*\"],\"Accept-Encoding\":[\"gzip\"],\"Accept-Language\":[\"it-IT,it;q=0.9,en-US;q=0.8,en;q=0.7\"],\"Cdn-Loop\":[\"cloudflare\"],\"Cf-Connecting-Ip\":[\"5.90.105.127\"],\"Cf-Ipcountry\":[\"IT\"],\"Cf-Ray\":[\"6aef85216ede3751-MXP\"],\"Cf-Visitor\":[\"{\\\"scheme\\\":\\\"https\\\"}\"],\"If-None-Match\":[\"W/\\\"10-oV4hJxRVSENxc/wX8+mA4/Pe4tA\\\"\"],\"Origin\":[\"http://localhost\"],\"Referer\":[\"http://localhost/\"],\"Sec-Fetch-Dest\":[\"empty\"],\"Sec-Fetch-Mode\":[\"cors\"],\"Sec-Fetch-Site\":[\"cross-site\"],\"User-Agent\":[\"Mozilla/5.0 (Linux; Android 11; IN2013 Build/RP1A.201005.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/95.0.4638.74 Mobile Safari/537.36\"],\"X-Forwarded-For\":[\"5.90.105.127\"],\"X-Forwarded-Host\":[\"[PRIVATE]"],\"X-Forwarded-Port\":[\"443\"],\"X-Forwarded-Proto\":[\"https\"],\"X-Forwarded-Server\":[\"b8edaee95b5f\"],\"X-Real-Ip\":[\"162.158.129.130\"],\"X-Requested-With\":[\"com.audiobookshelf.app\"]},\"ContentLength\":0,\"TransferEncoding\":null,\"Host\":\"[PRIVATE]",\"Form\":null,\"PostForm\":null,\"MultipartForm\":null,\"Trailer\":null,\"RemoteAddr\":\"162.158.129.130:50686\",\"RequestURI\":\"/ping\",\"TLS\":null}" 2021-11-16T08:58:52.859425796Z time="2021-11-16T09:58:52+01:00" level=debug msg="vulcand/oxy/roundrobin/rr: completed ServeHttp on request" Request="{\"Method\":\"GET\",\"URL\":{\"Scheme\":\"\",\"Opaque\":\"\",\"User\":null,\"Host\":\"\",\"Path\":\"/ping\",\"RawPath\":\"\",\"ForceQuery\":false,\"RawQuery\":\"\",\"Fragment\":\"\",\"RawFragment\":\"\"},\"Proto\":\"HTTP/2.0\",\"ProtoMajor\":2,\"ProtoMinor\":0,\"Header\":{\"Accept\":[\"application/json, text/plain, */*\"],\"Accept-Encoding\":[\"gzip\"],\"Accept-Language\":[\"it-IT,it;q=0.9,en-US;q=0.8,en;q=0.7\"],\"Cdn-Loop\":[\"cloudflare\"],\"Cf-Connecting-Ip\":[\"5.90.105.127\"],\"Cf-Ipcountry\":[\"IT\"],\"Cf-Ray\":[\"6aef85216ede3751-MXP\"],\"Cf-Visitor\":[\"{\\\"scheme\\\":\\\"https\\\"}\"],\"If-None-Match\":[\"W/\\\"10-oV4hJxRVSENxc/wX8+mA4/Pe4tA\\\"\"],\"Origin\":[\"http://localhost\"],\"Referer\":[\"http://localhost/\"],\"Sec-Fetch-Dest\":[\"empty\"],\"Sec-Fetch-Mode\":[\"cors\"],\"Sec-Fetch-Site\":[\"cross-site\"],\"User-Agent\":[\"Mozilla/5.0 (Linux; Android 11; IN2013 Build/RP1A.201005.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/95.0.4638.74 Mobile Safari/537.36\"],\"X-Forwarded-For\":[\"5.90.105.127\"],\"X-Forwarded-Host\":[\"[PRIVATE]\"],\"X-Forwarded-Port\":[\"443\"],\"X-Forwarded-Proto\":[\"https\"],\"X-Forwarded-Server\":[\"b8edaee95b5f\"],\"X-Real-Ip\":[\"162.158.129.130\"],\"X-Requested-With\":[\"com.audiobookshelf.app\"]},\"ContentLength\":0,\"TransferEncoding\":null,\"Host\":\"[PRIVATE]\",\"Form\":null,\"PostForm\":null,\"MultipartForm\":null,\"Trailer\":null,\"RemoteAddr\":\"162.158.129.130:50686\",\"RequestURI\":\"/ping\",\"TLS\":null}" ``` While from audiobookshelf logs I can only see a ping: ``` [2021-11-16T08:58:52.857Z] INFO: Recieved ping [2021-11-16T08:58:21.173Z] INFO: Recieved ping ```
Author
Owner

@advplyr commented on GitHub (Nov 17, 2021):

I'm not sure if you saw, but there was a bug I fixed last week with the socket not re-connecting.

The web socket connection is causing a lot of problems on mobile for some reason. The app is stuck in limbo at the moment while pending approval for android auto, so after that I can see about adding some additional log or info about the status of the connection.

@advplyr commented on GitHub (Nov 17, 2021): I'm not sure if you saw, but there was a bug I fixed last week with the socket not re-connecting. The web socket connection is causing a lot of problems on mobile for some reason. The app is stuck in limbo at the moment while pending approval for android auto, so after that I can see about adding some additional log or info about the status of the connection.
Author
Owner

@kulps commented on GitHub (Nov 17, 2021):

Using the browser on your phone are you able to connect and play audiobooks using your domain name and reverse proxy?

It sounds like a certificate issue with the android app. There was an issue resolved recently to allow self signed certificates #28.

Any more info you can provide like error messages?

I can connect through the Traefik reverse proxy in a browser. Unfortunately there's no error messages I can see to share. When I enter the domain in the Sever Address field it's accepted, but when I enter credentials I get a red box that says "Request Failed" I will try the middleware adjustment suggested by @rubbo898

@kulps commented on GitHub (Nov 17, 2021): > Using the browser on your phone are you able to connect and play audiobooks using your domain name and reverse proxy? > > It sounds like a certificate issue with the android app. There was an issue resolved recently to allow self signed certificates #28. > > Any more info you can provide like error messages? I can connect through the Traefik reverse proxy in a browser. Unfortunately there's no error messages I can see to share. When I enter the domain in the Sever Address field it's accepted, but when I enter credentials I get a red box that says "Request Failed" I will try the middleware adjustment suggested by @rubbo898
Author
Owner

@rubbo898 commented on GitHub (Nov 17, 2021):

I'm not sure if you saw, but there was a bug I fixed last week with the socket not re-connecting.

The web socket connection is causing a lot of problems on mobile for some reason. The app is stuck in limbo at the moment while pending approval for android auto, so after that I can see about adding some additional log or info about the status of the connection.

If it's the one about Caddy yes! There is no hurry, my VPN is a great workaround so no service disruption by my side 😉

Waiting for AA!! 🍿🍻

@rubbo898 commented on GitHub (Nov 17, 2021): > I'm not sure if you saw, but there was a bug I fixed last week with the socket not re-connecting. > > The web socket connection is causing a lot of problems on mobile for some reason. The app is stuck in limbo at the moment while pending approval for android auto, so after that I can see about adding some additional log or info about the status of the connection. If it's the one about Caddy yes! There is no hurry, my VPN is a great workaround so no service disruption by my side 😉 Waiting for AA!! 🍿🍻
Author
Owner

@rubbo898 commented on GitHub (Nov 21, 2021):

I've just tried with the v0.9.25-beta, nothing changed:

ABS correctly receive ping when you enter the domain (as highlighted by @kulps)

today at 11:16:13 [2021-11-21T10:16:13.827Z]  INFO: Recieved ping
today at 11:16:47 [2021-11-21T10:16:47.848Z]  INFO: Recieved ping

As far as I understand (very little) Traefik handle the request and correctly forward it to ABS container:

today at 11:16:13 time="2021-11-21T11:16:13+01:00" level=debug msg="vulcand/oxy/roundrobin/rr: begin ServeHttp on request" Request="{\"Method\":\"GET\",\"URL\":{\"Scheme\":\"\",\"Opaque\":\"\",\"User\":null,\"Host\":\"\",\"Path\":\"/ping\",\"RawPath\":\"\",\"ForceQuery\":false,\"RawQuery\":\"\",\"Fragment\":\"\",\"RawFragment\":\"\"},\"Proto\":\"HTTP/2.0\",\"ProtoMajor\":2,\"ProtoMinor\":0,\"Header\":{\"Accept\":[\"application/json, text/plain, */*\"],\"Accept-Encoding\":[\"gzip\"],\"Accept-Language\":[\"it-IT,it;q=0.9,en-US;q=0.8,en;q=0.7\"],\"Cdn-Loop\":[\"cloudflare\"],\"Cf-Connecting-Ip\":[\"5.90.109.48\"],\"Cf-Ipcountry\":[\"IT\"],\"Cf-Ray\":[\"6b192953b9c53745-MXP\"],\"Cf-Visitor\":[\"{\\\"scheme\\\":\\\"https\\\"}\"],\"If-None-Match\":[\"W/\\\"10-oV4hJxRVSENxc/wX8+mA4/Pe4tA\\\"\"],\"Origin\":[\"http://localhost\"],\"Referer\":[\"http://localhost/\"],\"Sec-Fetch-Dest\":[\"empty\"],\"Sec-Fetch-Mode\":[\"cors\"],\"Sec-Fetch-Site\":[\"cross-site\"],\"User-Agent\":[\"Mozilla/5.0 (Linux; Android 11; IN2013 Build/RP1A.201005.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/96.0.4664.45 Mobile Safari/537.36\"],\"X-Forwarded-For\":[\"5.90.109.48\"],\"X-Forwarded-Host\":[\"xxxxxxxx\"],\"X-Forwarded-Port\":[\"443\"],\"X-Forwarded-Proto\":[\"https\"],\"X-Forwarded-Server\":[\"b8edaee95b5f\"],\"X-Real-Ip\":[\"162.158.129.42\"],\"X-Requested-With\":[\"com.audiobookshelf.app\"]},\"ContentLength\":0,\"TransferEncoding\":null,\"Host\":\"xxxxxxxx\",\"Form\":null,\"PostForm\":null,\"MultipartForm\":null,\"Trailer\":null,\"RemoteAddr\":\"162.158.129.42:9494\",\"RequestURI\":\"/ping\",\"TLS\":null}"
today at 11:16:13 time="2021-11-21T11:16:13+01:00" level=debug msg="vulcand/oxy/roundrobin/rr: Forwarding this request to URL" Request="{\"Method\":\"GET\",\"URL\":{\"Scheme\":\"\",\"Opaque\":\"\",\"User\":null,\"Host\":\"\",\"Path\":\"/ping\",\"RawPath\":\"\",\"ForceQuery\":false,\"RawQuery\":\"\",\"Fragment\":\"\",\"RawFragment\":\"\"},\"Proto\":\"HTTP/2.0\",\"ProtoMajor\":2,\"ProtoMinor\":0,\"Header\":{\"Accept\":[\"application/json, text/plain, */*\"],\"Accept-Encoding\":[\"gzip\"],\"Accept-Language\":[\"it-IT,it;q=0.9,en-US;q=0.8,en;q=0.7\"],\"Cdn-Loop\":[\"cloudflare\"],\"Cf-Connecting-Ip\":[\"5.90.109.48\"],\"Cf-Ipcountry\":[\"IT\"],\"Cf-Ray\":[\"6b192953b9c53745-MXP\"],\"Cf-Visitor\":[\"{\\\"scheme\\\":\\\"https\\\"}\"],\"If-None-Match\":[\"W/\\\"10-oV4hJxRVSENxc/wX8+mA4/Pe4tA\\\"\"],\"Origin\":[\"http://localhost\"],\"Referer\":[\"http://localhost/\"],\"Sec-Fetch-Dest\":[\"empty\"],\"Sec-Fetch-Mode\":[\"cors\"],\"Sec-Fetch-Site\":[\"cross-site\"],\"User-Agent\":[\"Mozilla/5.0 (Linux; Android 11; IN2013 Build/RP1A.201005.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/96.0.4664.45 Mobile Safari/537.36\"],\"X-Forwarded-For\":[\"5.90.109.48\"],\"X-Forwarded-Host\":[\"xxxxxxxx\"],\"X-Forwarded-Port\":[\"443\"],\"X-Forwarded-Proto\":[\"https\"],\"X-Forwarded-Server\":[\"b8edaee95b5f\"],\"X-Real-Ip\":[\"162.158.129.42\"],\"X-Requested-With\":[\"com.audiobookshelf.app\"]},\"ContentLength\":0,\"TransferEncoding\":null,\"Host\":\"xxxxxxxx\",\"Form\":null,\"PostForm\":null,\"MultipartForm\":null,\"Trailer\":null,\"RemoteAddr\":\"162.158.129.42:9494\",\"RequestURI\":\"/ping\",\"TLS\":null}" ForwardURL="http://172.19.0.24:80"
today at 11:16:13 time="2021-11-21T11:16:13+01:00" level=debug msg="vulcand/oxy/roundrobin/rr: completed ServeHttp on request" Request="{\"Method\":\"GET\",\"URL\":{\"Scheme\":\"\",\"Opaque\":\"\",\"User\":null,\"Host\":\"\",\"Path\":\"/ping\",\"RawPath\":\"\",\"ForceQuery\":false,\"RawQuery\":\"\",\"Fragment\":\"\",\"RawFragment\":\"\"},\"Proto\":\"HTTP/2.0\",\"ProtoMajor\":2,\"ProtoMinor\":0,\"Header\":{\"Accept\":[\"application/json, text/plain, */*\"],\"Accept-Encoding\":[\"gzip\"],\"Accept-Language\":[\"it-IT,it;q=0.9,en-US;q=0.8,en;q=0.7\"],\"Cdn-Loop\":[\"cloudflare\"],\"Cf-Connecting-Ip\":[\"5.90.109.48\"],\"Cf-Ipcountry\":[\"IT\"],\"Cf-Ray\":[\"6b192953b9c53745-MXP\"],\"Cf-Visitor\":[\"{\\\"scheme\\\":\\\"https\\\"}\"],\"If-None-Match\":[\"W/\\\"10-oV4hJxRVSENxc/wX8+mA4/Pe4tA\\\"\"],\"Origin\":[\"http://localhost\"],\"Referer\":[\"http://localhost/\"],\"Sec-Fetch-Dest\":[\"empty\"],\"Sec-Fetch-Mode\":[\"cors\"],\"Sec-Fetch-Site\":[\"cross-site\"],\"User-Agent\":[\"Mozilla/5.0 (Linux; Android 11; IN2013 Build/RP1A.201005.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/96.0.4664.45 Mobile Safari/537.36\"],\"X-Forwarded-For\":[\"5.90.109.48\"],\"X-Forwarded-Host\":[\"xxxxxxxx\"],\"X-Forwarded-Port\":[\"443\"],\"X-Forwarded-Proto\":[\"https\"],\"X-Forwarded-Server\":[\"b8edaee95b5f\"],\"X-Real-Ip\":[\"162.158.129.42\"],\"X-Requested-With\":[\"com.audiobookshelf.app\"]},\"ContentLength\":0,\"TransferEncoding\":null,\"Host\":\"xxxxxxxx\",\"Form\":null,\"PostForm\":null,\"MultipartForm\":null,\"Trailer\":null,\"RemoteAddr\":\"162.158.129.42:9494\",\"RequestURI\":\"/ping\",\"TLS\":null}"
today at 11:16:47 time="2021-11-21T11:16:47+01:00" level=debug msg="vulcand/oxy/roundrobin/rr: begin ServeHttp on request" Request="{\"Method\":\"GET\",\"URL\":{\"Scheme\":\"\",\"Opaque\":\"\",\"User\":null,\"Host\":\"\",\"Path\":\"/ping\",\"RawPath\":\"\",\"ForceQuery\":false,\"RawQuery\":\"\",\"Fragment\":\"\",\"RawFragment\":\"\"},\"Proto\":\"HTTP/2.0\",\"ProtoMajor\":2,\"ProtoMinor\":0,\"Header\":{\"Accept\":[\"application/json, text/plain, */*\"],\"Accept-Encoding\":[\"gzip\"],\"Accept-Language\":[\"it-IT,it;q=0.9,en-US;q=0.8,en;q=0.7\"],\"Cdn-Loop\":[\"cloudflare\"],\"Cf-Connecting-Ip\":[\"5.90.109.48\"],\"Cf-Ipcountry\":[\"IT\"],\"Cf-Ray\":[\"6b192a286f393754-MXP\"],\"Cf-Visitor\":[\"{\\\"scheme\\\":\\\"https\\\"}\"],\"If-None-Match\":[\"W/\\\"10-oV4hJxRVSENxc/wX8+mA4/Pe4tA\\\"\"],\"Origin\":[\"http://localhost\"],\"Referer\":[\"http://localhost/\"],\"Sec-Fetch-Dest\":[\"empty\"],\"Sec-Fetch-Mode\":[\"cors\"],\"Sec-Fetch-Site\":[\"cross-site\"],\"User-Agent\":[\"Mozilla/5.0 (Linux; Android 11; IN2013 Build/RP1A.201005.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/96.0.4664.45 Mobile Safari/537.36\"],\"X-Forwarded-For\":[\"5.90.109.48\"],\"X-Forwarded-Host\":[\"xxxxxxxx\"],\"X-Forwarded-Port\":[\"443\"],\"X-Forwarded-Proto\":[\"https\"],\"X-Forwarded-Server\":[\"b8edaee95b5f\"],\"X-Real-Ip\":[\"162.158.129.130\"],\"X-Requested-With\":[\"com.audiobookshelf.app\"]},\"ContentLength\":0,\"TransferEncoding\":null,\"Host\":\"xxxxxxxx\",\"Form\":null,\"PostForm\":null,\"MultipartForm\":null,\"Trailer\":null,\"RemoteAddr\":\"162.158.129.130:52818\",\"RequestURI\":\"/ping\",\"TLS\":null}"
today at 11:16:47 time="2021-11-21T11:16:47+01:00" level=debug msg="vulcand/oxy/roundrobin/rr: Forwarding this request to URL" Request="{\"Method\":\"GET\",\"URL\":{\"Scheme\":\"\",\"Opaque\":\"\",\"User\":null,\"Host\":\"\",\"Path\":\"/ping\",\"RawPath\":\"\",\"ForceQuery\":false,\"RawQuery\":\"\",\"Fragment\":\"\",\"RawFragment\":\"\"},\"Proto\":\"HTTP/2.0\",\"ProtoMajor\":2,\"ProtoMinor\":0,\"Header\":{\"Accept\":[\"application/json, text/plain, */*\"],\"Accept-Encoding\":[\"gzip\"],\"Accept-Language\":[\"it-IT,it;q=0.9,en-US;q=0.8,en;q=0.7\"],\"Cdn-Loop\":[\"cloudflare\"],\"Cf-Connecting-Ip\":[\"5.90.109.48\"],\"Cf-Ipcountry\":[\"IT\"],\"Cf-Ray\":[\"6b192a286f393754-MXP\"],\"Cf-Visitor\":[\"{\\\"scheme\\\":\\\"https\\\"}\"],\"If-None-Match\":[\"W/\\\"10-oV4hJxRVSENxc/wX8+mA4/Pe4tA\\\"\"],\"Origin\":[\"http://localhost\"],\"Referer\":[\"http://localhost/\"],\"Sec-Fetch-Dest\":[\"empty\"],\"Sec-Fetch-Mode\":[\"cors\"],\"Sec-Fetch-Site\":[\"cross-site\"],\"User-Agent\":[\"Mozilla/5.0 (Linux; Android 11; IN2013 Build/RP1A.201005.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/96.0.4664.45 Mobile Safari/537.36\"],\"X-Forwarded-For\":[\"5.90.109.48\"],\"X-Forwarded-Host\":[\"xxxxxxxx\"],\"X-Forwarded-Port\":[\"443\"],\"X-Forwarded-Proto\":[\"https\"],\"X-Forwarded-Server\":[\"b8edaee95b5f\"],\"X-Real-Ip\":[\"162.158.129.130\"],\"X-Requested-With\":[\"com.audiobookshelf.app\"]},\"ContentLength\":0,\"TransferEncoding\":null,\"Host\":\"xxxxxxxx\",\"Form\":null,\"PostForm\":null,\"MultipartForm\":null,\"Trailer\":null,\"RemoteAddr\":\"162.158.129.130:52818\",\"RequestURI\":\"/ping\",\"TLS\":null}" ForwardURL="http://172.19.0.24:80"
today at 11:16:47 time="2021-11-21T11:16:47+01:00" level=debug msg="vulcand/oxy/roundrobin/rr: completed ServeHttp on request" Request="{\"Method\":\"GET\",\"URL\":{\"Scheme\":\"\",\"Opaque\":\"\",\"User\":null,\"Host\":\"\",\"Path\":\"/ping\",\"RawPath\":\"\",\"ForceQuery\":false,\"RawQuery\":\"\",\"Fragment\":\"\",\"RawFragment\":\"\"},\"Proto\":\"HTTP/2.0\",\"ProtoMajor\":2,\"ProtoMinor\":0,\"Header\":{\"Accept\":[\"application/json, text/plain, */*\"],\"Accept-Encoding\":[\"gzip\"],\"Accept-Language\":[\"it-IT,it;q=0.9,en-US;q=0.8,en;q=0.7\"],\"Cdn-Loop\":[\"cloudflare\"],\"Cf-Connecting-Ip\":[\"5.90.109.48\"],\"Cf-Ipcountry\":[\"IT\"],\"Cf-Ray\":[\"6b192a286f393754-MXP\"],\"Cf-Visitor\":[\"{\\\"scheme\\\":\\\"https\\\"}\"],\"If-None-Match\":[\"W/\\\"10-oV4hJxRVSENxc/wX8+mA4/Pe4tA\\\"\"],\"Origin\":[\"http://localhost\"],\"Referer\":[\"http://localhost/\"],\"Sec-Fetch-Dest\":[\"empty\"],\"Sec-Fetch-Mode\":[\"cors\"],\"Sec-Fetch-Site\":[\"cross-site\"],\"User-Agent\":[\"Mozilla/5.0 (Linux; Android 11; IN2013 Build/RP1A.201005.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/96.0.4664.45 Mobile Safari/537.36\"],\"X-Forwarded-For\":[\"5.90.109.48\"],\"X-Forwarded-Host\":[\"xxxxxxxx\"],\"X-Forwarded-Port\":[\"443\"],\"X-Forwarded-Proto\":[\"https\"],\"X-Forwarded-Server\":[\"b8edaee95b5f\"],\"X-Real-Ip\":[\"162.158.129.130\"],\"X-Requested-With\":[\"com.audiobookshelf.app\"]},\"ContentLength\":0,\"TransferEncoding\":null,\"Host\":\"xxxxxxxx\",\"Form\":null,\"PostForm\":null,\"MultipartForm\":null,\"Trailer\":null,\"RemoteAddr\":\"162.158.129.130:52818\",\"RequestURI\":\"/ping\",\"TLS\":null}"

So it should be the authentication step that is failing!

Last edit I swear: not finding any log in Traefik @advplyr do you think it's possible that the authentication is "stuck" within the Android App? Otherwise I should find further entries in Traefik debug logs, am I wrong?

@rubbo898 commented on GitHub (Nov 21, 2021): I've just tried with the v0.9.25-beta, nothing changed: ABS correctly receive ping when you enter the domain (as highlighted by @kulps) ``` today at 11:16:13 [2021-11-21T10:16:13.827Z] INFO: Recieved ping today at 11:16:47 [2021-11-21T10:16:47.848Z] INFO: Recieved ping ``` As far as I understand (very little) Traefik handle the request and correctly forward it to ABS container: ``` today at 11:16:13 time="2021-11-21T11:16:13+01:00" level=debug msg="vulcand/oxy/roundrobin/rr: begin ServeHttp on request" Request="{\"Method\":\"GET\",\"URL\":{\"Scheme\":\"\",\"Opaque\":\"\",\"User\":null,\"Host\":\"\",\"Path\":\"/ping\",\"RawPath\":\"\",\"ForceQuery\":false,\"RawQuery\":\"\",\"Fragment\":\"\",\"RawFragment\":\"\"},\"Proto\":\"HTTP/2.0\",\"ProtoMajor\":2,\"ProtoMinor\":0,\"Header\":{\"Accept\":[\"application/json, text/plain, */*\"],\"Accept-Encoding\":[\"gzip\"],\"Accept-Language\":[\"it-IT,it;q=0.9,en-US;q=0.8,en;q=0.7\"],\"Cdn-Loop\":[\"cloudflare\"],\"Cf-Connecting-Ip\":[\"5.90.109.48\"],\"Cf-Ipcountry\":[\"IT\"],\"Cf-Ray\":[\"6b192953b9c53745-MXP\"],\"Cf-Visitor\":[\"{\\\"scheme\\\":\\\"https\\\"}\"],\"If-None-Match\":[\"W/\\\"10-oV4hJxRVSENxc/wX8+mA4/Pe4tA\\\"\"],\"Origin\":[\"http://localhost\"],\"Referer\":[\"http://localhost/\"],\"Sec-Fetch-Dest\":[\"empty\"],\"Sec-Fetch-Mode\":[\"cors\"],\"Sec-Fetch-Site\":[\"cross-site\"],\"User-Agent\":[\"Mozilla/5.0 (Linux; Android 11; IN2013 Build/RP1A.201005.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/96.0.4664.45 Mobile Safari/537.36\"],\"X-Forwarded-For\":[\"5.90.109.48\"],\"X-Forwarded-Host\":[\"xxxxxxxx\"],\"X-Forwarded-Port\":[\"443\"],\"X-Forwarded-Proto\":[\"https\"],\"X-Forwarded-Server\":[\"b8edaee95b5f\"],\"X-Real-Ip\":[\"162.158.129.42\"],\"X-Requested-With\":[\"com.audiobookshelf.app\"]},\"ContentLength\":0,\"TransferEncoding\":null,\"Host\":\"xxxxxxxx\",\"Form\":null,\"PostForm\":null,\"MultipartForm\":null,\"Trailer\":null,\"RemoteAddr\":\"162.158.129.42:9494\",\"RequestURI\":\"/ping\",\"TLS\":null}" today at 11:16:13 time="2021-11-21T11:16:13+01:00" level=debug msg="vulcand/oxy/roundrobin/rr: Forwarding this request to URL" Request="{\"Method\":\"GET\",\"URL\":{\"Scheme\":\"\",\"Opaque\":\"\",\"User\":null,\"Host\":\"\",\"Path\":\"/ping\",\"RawPath\":\"\",\"ForceQuery\":false,\"RawQuery\":\"\",\"Fragment\":\"\",\"RawFragment\":\"\"},\"Proto\":\"HTTP/2.0\",\"ProtoMajor\":2,\"ProtoMinor\":0,\"Header\":{\"Accept\":[\"application/json, text/plain, */*\"],\"Accept-Encoding\":[\"gzip\"],\"Accept-Language\":[\"it-IT,it;q=0.9,en-US;q=0.8,en;q=0.7\"],\"Cdn-Loop\":[\"cloudflare\"],\"Cf-Connecting-Ip\":[\"5.90.109.48\"],\"Cf-Ipcountry\":[\"IT\"],\"Cf-Ray\":[\"6b192953b9c53745-MXP\"],\"Cf-Visitor\":[\"{\\\"scheme\\\":\\\"https\\\"}\"],\"If-None-Match\":[\"W/\\\"10-oV4hJxRVSENxc/wX8+mA4/Pe4tA\\\"\"],\"Origin\":[\"http://localhost\"],\"Referer\":[\"http://localhost/\"],\"Sec-Fetch-Dest\":[\"empty\"],\"Sec-Fetch-Mode\":[\"cors\"],\"Sec-Fetch-Site\":[\"cross-site\"],\"User-Agent\":[\"Mozilla/5.0 (Linux; Android 11; IN2013 Build/RP1A.201005.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/96.0.4664.45 Mobile Safari/537.36\"],\"X-Forwarded-For\":[\"5.90.109.48\"],\"X-Forwarded-Host\":[\"xxxxxxxx\"],\"X-Forwarded-Port\":[\"443\"],\"X-Forwarded-Proto\":[\"https\"],\"X-Forwarded-Server\":[\"b8edaee95b5f\"],\"X-Real-Ip\":[\"162.158.129.42\"],\"X-Requested-With\":[\"com.audiobookshelf.app\"]},\"ContentLength\":0,\"TransferEncoding\":null,\"Host\":\"xxxxxxxx\",\"Form\":null,\"PostForm\":null,\"MultipartForm\":null,\"Trailer\":null,\"RemoteAddr\":\"162.158.129.42:9494\",\"RequestURI\":\"/ping\",\"TLS\":null}" ForwardURL="http://172.19.0.24:80" today at 11:16:13 time="2021-11-21T11:16:13+01:00" level=debug msg="vulcand/oxy/roundrobin/rr: completed ServeHttp on request" Request="{\"Method\":\"GET\",\"URL\":{\"Scheme\":\"\",\"Opaque\":\"\",\"User\":null,\"Host\":\"\",\"Path\":\"/ping\",\"RawPath\":\"\",\"ForceQuery\":false,\"RawQuery\":\"\",\"Fragment\":\"\",\"RawFragment\":\"\"},\"Proto\":\"HTTP/2.0\",\"ProtoMajor\":2,\"ProtoMinor\":0,\"Header\":{\"Accept\":[\"application/json, text/plain, */*\"],\"Accept-Encoding\":[\"gzip\"],\"Accept-Language\":[\"it-IT,it;q=0.9,en-US;q=0.8,en;q=0.7\"],\"Cdn-Loop\":[\"cloudflare\"],\"Cf-Connecting-Ip\":[\"5.90.109.48\"],\"Cf-Ipcountry\":[\"IT\"],\"Cf-Ray\":[\"6b192953b9c53745-MXP\"],\"Cf-Visitor\":[\"{\\\"scheme\\\":\\\"https\\\"}\"],\"If-None-Match\":[\"W/\\\"10-oV4hJxRVSENxc/wX8+mA4/Pe4tA\\\"\"],\"Origin\":[\"http://localhost\"],\"Referer\":[\"http://localhost/\"],\"Sec-Fetch-Dest\":[\"empty\"],\"Sec-Fetch-Mode\":[\"cors\"],\"Sec-Fetch-Site\":[\"cross-site\"],\"User-Agent\":[\"Mozilla/5.0 (Linux; Android 11; IN2013 Build/RP1A.201005.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/96.0.4664.45 Mobile Safari/537.36\"],\"X-Forwarded-For\":[\"5.90.109.48\"],\"X-Forwarded-Host\":[\"xxxxxxxx\"],\"X-Forwarded-Port\":[\"443\"],\"X-Forwarded-Proto\":[\"https\"],\"X-Forwarded-Server\":[\"b8edaee95b5f\"],\"X-Real-Ip\":[\"162.158.129.42\"],\"X-Requested-With\":[\"com.audiobookshelf.app\"]},\"ContentLength\":0,\"TransferEncoding\":null,\"Host\":\"xxxxxxxx\",\"Form\":null,\"PostForm\":null,\"MultipartForm\":null,\"Trailer\":null,\"RemoteAddr\":\"162.158.129.42:9494\",\"RequestURI\":\"/ping\",\"TLS\":null}" today at 11:16:47 time="2021-11-21T11:16:47+01:00" level=debug msg="vulcand/oxy/roundrobin/rr: begin ServeHttp on request" Request="{\"Method\":\"GET\",\"URL\":{\"Scheme\":\"\",\"Opaque\":\"\",\"User\":null,\"Host\":\"\",\"Path\":\"/ping\",\"RawPath\":\"\",\"ForceQuery\":false,\"RawQuery\":\"\",\"Fragment\":\"\",\"RawFragment\":\"\"},\"Proto\":\"HTTP/2.0\",\"ProtoMajor\":2,\"ProtoMinor\":0,\"Header\":{\"Accept\":[\"application/json, text/plain, */*\"],\"Accept-Encoding\":[\"gzip\"],\"Accept-Language\":[\"it-IT,it;q=0.9,en-US;q=0.8,en;q=0.7\"],\"Cdn-Loop\":[\"cloudflare\"],\"Cf-Connecting-Ip\":[\"5.90.109.48\"],\"Cf-Ipcountry\":[\"IT\"],\"Cf-Ray\":[\"6b192a286f393754-MXP\"],\"Cf-Visitor\":[\"{\\\"scheme\\\":\\\"https\\\"}\"],\"If-None-Match\":[\"W/\\\"10-oV4hJxRVSENxc/wX8+mA4/Pe4tA\\\"\"],\"Origin\":[\"http://localhost\"],\"Referer\":[\"http://localhost/\"],\"Sec-Fetch-Dest\":[\"empty\"],\"Sec-Fetch-Mode\":[\"cors\"],\"Sec-Fetch-Site\":[\"cross-site\"],\"User-Agent\":[\"Mozilla/5.0 (Linux; Android 11; IN2013 Build/RP1A.201005.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/96.0.4664.45 Mobile Safari/537.36\"],\"X-Forwarded-For\":[\"5.90.109.48\"],\"X-Forwarded-Host\":[\"xxxxxxxx\"],\"X-Forwarded-Port\":[\"443\"],\"X-Forwarded-Proto\":[\"https\"],\"X-Forwarded-Server\":[\"b8edaee95b5f\"],\"X-Real-Ip\":[\"162.158.129.130\"],\"X-Requested-With\":[\"com.audiobookshelf.app\"]},\"ContentLength\":0,\"TransferEncoding\":null,\"Host\":\"xxxxxxxx\",\"Form\":null,\"PostForm\":null,\"MultipartForm\":null,\"Trailer\":null,\"RemoteAddr\":\"162.158.129.130:52818\",\"RequestURI\":\"/ping\",\"TLS\":null}" today at 11:16:47 time="2021-11-21T11:16:47+01:00" level=debug msg="vulcand/oxy/roundrobin/rr: Forwarding this request to URL" Request="{\"Method\":\"GET\",\"URL\":{\"Scheme\":\"\",\"Opaque\":\"\",\"User\":null,\"Host\":\"\",\"Path\":\"/ping\",\"RawPath\":\"\",\"ForceQuery\":false,\"RawQuery\":\"\",\"Fragment\":\"\",\"RawFragment\":\"\"},\"Proto\":\"HTTP/2.0\",\"ProtoMajor\":2,\"ProtoMinor\":0,\"Header\":{\"Accept\":[\"application/json, text/plain, */*\"],\"Accept-Encoding\":[\"gzip\"],\"Accept-Language\":[\"it-IT,it;q=0.9,en-US;q=0.8,en;q=0.7\"],\"Cdn-Loop\":[\"cloudflare\"],\"Cf-Connecting-Ip\":[\"5.90.109.48\"],\"Cf-Ipcountry\":[\"IT\"],\"Cf-Ray\":[\"6b192a286f393754-MXP\"],\"Cf-Visitor\":[\"{\\\"scheme\\\":\\\"https\\\"}\"],\"If-None-Match\":[\"W/\\\"10-oV4hJxRVSENxc/wX8+mA4/Pe4tA\\\"\"],\"Origin\":[\"http://localhost\"],\"Referer\":[\"http://localhost/\"],\"Sec-Fetch-Dest\":[\"empty\"],\"Sec-Fetch-Mode\":[\"cors\"],\"Sec-Fetch-Site\":[\"cross-site\"],\"User-Agent\":[\"Mozilla/5.0 (Linux; Android 11; IN2013 Build/RP1A.201005.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/96.0.4664.45 Mobile Safari/537.36\"],\"X-Forwarded-For\":[\"5.90.109.48\"],\"X-Forwarded-Host\":[\"xxxxxxxx\"],\"X-Forwarded-Port\":[\"443\"],\"X-Forwarded-Proto\":[\"https\"],\"X-Forwarded-Server\":[\"b8edaee95b5f\"],\"X-Real-Ip\":[\"162.158.129.130\"],\"X-Requested-With\":[\"com.audiobookshelf.app\"]},\"ContentLength\":0,\"TransferEncoding\":null,\"Host\":\"xxxxxxxx\",\"Form\":null,\"PostForm\":null,\"MultipartForm\":null,\"Trailer\":null,\"RemoteAddr\":\"162.158.129.130:52818\",\"RequestURI\":\"/ping\",\"TLS\":null}" ForwardURL="http://172.19.0.24:80" today at 11:16:47 time="2021-11-21T11:16:47+01:00" level=debug msg="vulcand/oxy/roundrobin/rr: completed ServeHttp on request" Request="{\"Method\":\"GET\",\"URL\":{\"Scheme\":\"\",\"Opaque\":\"\",\"User\":null,\"Host\":\"\",\"Path\":\"/ping\",\"RawPath\":\"\",\"ForceQuery\":false,\"RawQuery\":\"\",\"Fragment\":\"\",\"RawFragment\":\"\"},\"Proto\":\"HTTP/2.0\",\"ProtoMajor\":2,\"ProtoMinor\":0,\"Header\":{\"Accept\":[\"application/json, text/plain, */*\"],\"Accept-Encoding\":[\"gzip\"],\"Accept-Language\":[\"it-IT,it;q=0.9,en-US;q=0.8,en;q=0.7\"],\"Cdn-Loop\":[\"cloudflare\"],\"Cf-Connecting-Ip\":[\"5.90.109.48\"],\"Cf-Ipcountry\":[\"IT\"],\"Cf-Ray\":[\"6b192a286f393754-MXP\"],\"Cf-Visitor\":[\"{\\\"scheme\\\":\\\"https\\\"}\"],\"If-None-Match\":[\"W/\\\"10-oV4hJxRVSENxc/wX8+mA4/Pe4tA\\\"\"],\"Origin\":[\"http://localhost\"],\"Referer\":[\"http://localhost/\"],\"Sec-Fetch-Dest\":[\"empty\"],\"Sec-Fetch-Mode\":[\"cors\"],\"Sec-Fetch-Site\":[\"cross-site\"],\"User-Agent\":[\"Mozilla/5.0 (Linux; Android 11; IN2013 Build/RP1A.201005.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/96.0.4664.45 Mobile Safari/537.36\"],\"X-Forwarded-For\":[\"5.90.109.48\"],\"X-Forwarded-Host\":[\"xxxxxxxx\"],\"X-Forwarded-Port\":[\"443\"],\"X-Forwarded-Proto\":[\"https\"],\"X-Forwarded-Server\":[\"b8edaee95b5f\"],\"X-Real-Ip\":[\"162.158.129.130\"],\"X-Requested-With\":[\"com.audiobookshelf.app\"]},\"ContentLength\":0,\"TransferEncoding\":null,\"Host\":\"xxxxxxxx\",\"Form\":null,\"PostForm\":null,\"MultipartForm\":null,\"Trailer\":null,\"RemoteAddr\":\"162.158.129.130:52818\",\"RequestURI\":\"/ping\",\"TLS\":null}" ``` So it should be the authentication step that is failing! Last edit I swear: not finding any log in Traefik @advplyr do you think it's possible that the authentication is "stuck" within the Android App? Otherwise I should find further entries in Traefik debug logs, am I wrong?
Author
Owner

@advplyr commented on GitHub (Nov 21, 2021):

I was thinking this was failing when checking the server address, but it sounds like it is failing when you are entering the username and password. @rubbo898 are you also seeing "Request Failed" when submitting credentials?

@advplyr commented on GitHub (Nov 21, 2021): I was thinking this was failing when checking the server address, but it sounds like it is failing when you are entering the username and password. @rubbo898 are you also seeing "Request Failed" when submitting credentials?
Author
Owner

@rubbo898 commented on GitHub (Nov 21, 2021):

I was thinking this was failing when checking the server address, but it sounds like it is failing when you are entering the username and password. @rubbo898 are you also seeing "Request Failed" when submitting credentials?

I couldn't find any entry except the ones above, asap I'll double check

@rubbo898 commented on GitHub (Nov 21, 2021): > I was thinking this was failing when checking the server address, but it sounds like it is failing when you are entering the username and password. @rubbo898 are you also seeing "Request Failed" when submitting credentials? I couldn't find any entry except the ones above, asap I'll double check
Author
Owner

@advplyr commented on GitHub (Nov 22, 2021):

v0.9.27-beta is live on the play store where I added some additional error messages. I realized there was only a generic error message getting printed.
Hopefully that can give us a little more to go off of.

@advplyr commented on GitHub (Nov 22, 2021): `v0.9.27-beta` is live on the play store where I added some additional error messages. I realized there was only a generic error message getting printed. Hopefully that can give us a little more to go off of.
Author
Owner

@typhooncarr commented on GitHub (Nov 23, 2021):

You need to turn off CORS and rate limiting for the endpoint

docker-compose labels:
- "traefik.enable=true"
## HTTP Routers
- "traefik.http.routers.abs-rtr.entrypoints=https"
- "traefik.http.routers.abs-rtr.rule=Host(abs.xxxxxxx.com)"
## Middlewares
- "traefik.http.routers.abs-rtr.middlewares=secure-chain-nolimit@file"
## HTTP Services
- "traefik.http.routers.abs-rtr.service=abs-svc"
- "traefik.http.services.abs-svc.loadbalancer.server.port=80"
- "traefik.http.services.abs-svc.loadbalancer.passhostheader=true"

secure-chain-nolimit.yml
http:
middlewares:
secure-chain-nolimit:
chain:
middlewares:
- secure-headers-nocors
- authelia
- errorpages
- nofloc

secure-headers-nocors.yml
http:
middlewares:
secure-headers-nocors:
headers:
hostsProxyHeaders:
- "X-Forwarded-Host"
frameDeny: true
sslRedirect: true
sslProxyHeaders:
X-Forwarded-Proto: "https"
stsSeconds: 63072000
stsIncludeSubdomains: true
stsPreload: true
forceSTSHeader: true
customFrameOptionsValue: "allow-from https:xxxxxxx.com"
contentTypeNosniff: true
browserXssFilter: true
referrerPolicy: "same-origin"
permissionsPolicy: "camera=(), microphone=(), geolocation=(), payment=(), usb=(), vr=()"
customResponseHeaders:
X-Robots-Tag: "none,noarchive,nosnippet,notranslate,noimageindex,"
customRequestHeaders:
X-Forwarded-Proto: "https"

@typhooncarr commented on GitHub (Nov 23, 2021): You need to turn off CORS and rate limiting for the endpoint docker-compose labels: - "traefik.enable=true" ## HTTP Routers - "traefik.http.routers.abs-rtr.entrypoints=https" - "traefik.http.routers.abs-rtr.rule=Host(`abs.xxxxxxx.com`)" ## Middlewares - "traefik.http.routers.abs-rtr.middlewares=secure-chain-nolimit@file" ## HTTP Services - "traefik.http.routers.abs-rtr.service=abs-svc" - "traefik.http.services.abs-svc.loadbalancer.server.port=80" - "traefik.http.services.abs-svc.loadbalancer.passhostheader=true" secure-chain-nolimit.yml http: middlewares: secure-chain-nolimit: chain: middlewares: - secure-headers-nocors - authelia - errorpages - nofloc secure-headers-nocors.yml http: middlewares: secure-headers-nocors: headers: hostsProxyHeaders: - "X-Forwarded-Host" frameDeny: true sslRedirect: true sslProxyHeaders: X-Forwarded-Proto: "https" stsSeconds: 63072000 stsIncludeSubdomains: true stsPreload: true forceSTSHeader: true customFrameOptionsValue: "allow-from https:xxxxxxx.com" contentTypeNosniff: true browserXssFilter: true referrerPolicy: "same-origin" permissionsPolicy: "camera=(), microphone=(), geolocation=(), payment=(), usb=(), vr=()" customResponseHeaders: X-Robots-Tag: "none,noarchive,nosnippet,notranslate,noimageindex," customRequestHeaders: X-Forwarded-Proto: "https"
Author
Owner

@rubbo898 commented on GitHub (Nov 23, 2021):

Hi @typhooncarr, I've tried to follow your advice but nothing changed.

Here below my Traefik configurations

docker run labels:

traefik.enable=true
traefik.http.services.JAshelf-svc.loadbalancer.passhostheader=true
traefik.http.routers.JAshelf-rtr.entrypoints=https
traefik.http.routers.JAshelf-rtr.rule=Host(`xxxxxxxxxx`)
traefik.http.routers.JAshelf-rtr.service=JAshelf-svc
traefik.http.services.JAshelf-svc.loadbalancer.server.port=80
traefik.http.routers.JAshelf-rtr.middlewares=chain-no-auth-jashelf@file

middlewares-chains.toml file:

[http.middlewares]
  [http.middlewares.chain-no-auth-jashelf]
    [http.middlewares.chain-no-auth-jashelf.chain]
      middlewares = [ "middlewares-secure-headers", "middlewares-sslheader"]

middlewares-chains.toml file:

[http.middlewares]
    [http.middlewares.middlewares-rate-limit]
        [http.middlewares.middlewares-rate-limit.rateLimit]
            average = 100
            burst = 50

    [http.middlewares.middlewares-secure-headers]
        [http.middlewares.middlewares-secure-headers.headers]
            accessControlAllowMethods= ["GET", "OPTIONS", "PUT"]
            accessControlMaxAge = 100
            hostsProxyHeaders = ["X-Forwarded-Host"]
            sslRedirect = true
            stsSeconds = 63072000
            stsIncludeSubdomains = true
            stsPreload = true
            forceSTSHeader = true
            contentTypeNosniff = true 
            browserXssFilter = true 
            referrerPolicy = "same-origin"
            featurePolicy = "camera 'none'; geolocation 'none'; microphone 'none'; payment 'none'; usb 'none'; vr 'none';" 
            customFrameOptionsValue = "allow-from https:xxxxxxxx" #
        
        [http.middlewares.middlewares-secure-headers.headers.sslproxyheaders]
            X-Forwarded-Proto = "https"
        
        [http.middlewares.middlewares-secure-headers.headers.customResponseHeaders]
            X-Robots-Tag = "none,noarchive,nosnippet,notranslate,noimageindex,"
            server = ""
            
    [http.middlewares.middlewares-sslheader.headers]
        [http.middlewares.middlewares-sslheader.headers.customrequestheaders]
            X-Forwarded-Proto = "https"

Am I missing something?

v0.9.27-beta is live on the play store where I added some additional error messages. I realized there was only a generic error message getting printed. Hopefully that can give us a little more to go off of.

Same outcomes from the logs

ABS:

today at 12:19:13 [2021-11-23T11:19:13.190Z] INFO: Recieved ping

Traefik:

today at 12:19:13 time="2021-11-23T12:19:13+01:00" level=debug msg="vulcand/oxy/roundrobin/rr: begin ServeHttp on request" Request="{\"Method\":\"GET\",\"URL\":{\"Scheme\":\"\",\"Opaque\":\"\",\"User\":null,\"Host\":\"\",\"Path\":\"/ping\",\"RawPath\":\"\",\"ForceQuery\":false,\"RawQuery\":\"\",\"Fragment\":\"\",\"RawFragment\":\"\"},\"Proto\":\"HTTP/2.0\",\"ProtoMajor\":2,\"ProtoMinor\":0,\"Header\":{\"Accept\":[\"application/json, text/plain, */*\"],\"Accept-Encoding\":[\"gzip\"],\"Accept-Language\":[\"it-IT,it;q=0.9,en-US;q=0.8,en;q=0.7\"],\"Cdn-Loop\":[\"cloudflare\"],\"Cf-Connecting-Ip\":[\"5.90.106.228\"],\"Cf-Ipcountry\":[\"IT\"],\"Cf-Ray\":[\"6b2a00552f66e907-MXP\"],\"Cf-Visitor\":[\"{\\\"scheme\\\":\\\"https\\\"}\"],\"If-None-Match\":[\"W/\\\"10-oV4hJxRVSENxc/wX8+mA4/Pe4tA\\\"\"],\"Origin\":[\"http://localhost\"],\"Referer\":[\"http://localhost/\"],\"Sec-Fetch-Dest\":[\"empty\"],\"Sec-Fetch-Mode\":[\"cors\"],\"Sec-Fetch-Site\":[\"cross-site\"],\"User-Agent\":[\"Mozilla/5.0 (Linux; Android 11; IN2013 Build/RP1A.201005.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/96.0.4664.45 Mobile Safari/537.36\"],\"X-Forwarded-For\":[\"5.90.106.228\"],\"X-Forwarded-Host\":[\"xxxxxxxx\"],\"X-Forwarded-Port\":[\"443\"],\"X-Forwarded-Proto\":[\"https\"],\"X-Forwarded-Server\":[\"b8edaee95b5f\"],\"X-Real-Ip\":[\"188.114.102.36\"],\"X-Requested-With\":[\"com.audiobookshelf.app\"]},\"ContentLength\":0,\"TransferEncoding\":null,\"Host\":\"xxxxxxxx\",\"Form\":null,\"PostForm\":null,\"MultipartForm\":null,\"Trailer\":null,\"RemoteAddr\":\"188.114.102.36:24498\",\"RequestURI\":\"/ping\",\"TLS\":null}"
today at 12:19:13 time="2021-11-23T12:19:13+01:00" level=debug msg="vulcand/oxy/roundrobin/rr: Forwarding this request to URL" Request="{\"Method\":\"GET\",\"URL\":{\"Scheme\":\"\",\"Opaque\":\"\",\"User\":null,\"Host\":\"\",\"Path\":\"/ping\",\"RawPath\":\"\",\"ForceQuery\":false,\"RawQuery\":\"\",\"Fragment\":\"\",\"RawFragment\":\"\"},\"Proto\":\"HTTP/2.0\",\"ProtoMajor\":2,\"ProtoMinor\":0,\"Header\":{\"Accept\":[\"application/json, text/plain, */*\"],\"Accept-Encoding\":[\"gzip\"],\"Accept-Language\":[\"it-IT,it;q=0.9,en-US;q=0.8,en;q=0.7\"],\"Cdn-Loop\":[\"cloudflare\"],\"Cf-Connecting-Ip\":[\"5.90.106.228\"],\"Cf-Ipcountry\":[\"IT\"],\"Cf-Ray\":[\"6b2a00552f66e907-MXP\"],\"Cf-Visitor\":[\"{\\\"scheme\\\":\\\"https\\\"}\"],\"If-None-Match\":[\"W/\\\"10-oV4hJxRVSENxc/wX8+mA4/Pe4tA\\\"\"],\"Origin\":[\"http://localhost\"],\"Referer\":[\"http://localhost/\"],\"Sec-Fetch-Dest\":[\"empty\"],\"Sec-Fetch-Mode\":[\"cors\"],\"Sec-Fetch-Site\":[\"cross-site\"],\"User-Agent\":[\"Mozilla/5.0 (Linux; Android 11; IN2013 Build/RP1A.201005.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/96.0.4664.45 Mobile Safari/537.36\"],\"X-Forwarded-For\":[\"5.90.106.228\"],\"X-Forwarded-Host\":[\"xxxxxxxx\"],\"X-Forwarded-Port\":[\"443\"],\"X-Forwarded-Proto\":[\"https\"],\"X-Forwarded-Server\":[\"b8edaee95b5f\"],\"X-Real-Ip\":[\"188.114.102.36\"],\"X-Requested-With\":[\"com.audiobookshelf.app\"]},\"ContentLength\":0,\"TransferEncoding\":null,\"Host\":\"xxxxxxxx\",\"Form\":null,\"PostForm\":null,\"MultipartForm\":null,\"Trailer\":null,\"RemoteAddr\":\"188.114.102.36:24498\",\"RequestURI\":\"/ping\",\"TLS\":null}" ForwardURL="http://172.19.0.24:80"
today at 12:19:13 time="2021-11-23T12:19:13+01:00" level=debug msg="vulcand/oxy/roundrobin/rr: completed ServeHttp on request" Request="{\"Method\":\"GET\",\"URL\":{\"Scheme\":\"\",\"Opaque\":\"\",\"User\":null,\"Host\":\"\",\"Path\":\"/ping\",\"RawPath\":\"\",\"ForceQuery\":false,\"RawQuery\":\"\",\"Fragment\":\"\",\"RawFragment\":\"\"},\"Proto\":\"HTTP/2.0\",\"ProtoMajor\":2,\"ProtoMinor\":0,\"Header\":{\"Accept\":[\"application/json, text/plain, */*\"],\"Accept-Encoding\":[\"gzip\"],\"Accept-Language\":[\"it-IT,it;q=0.9,en-US;q=0.8,en;q=0.7\"],\"Cdn-Loop\":[\"cloudflare\"],\"Cf-Connecting-Ip\":[\"5.90.106.228\"],\"Cf-Ipcountry\":[\"IT\"],\"Cf-Ray\":[\"6b2a00552f66e907-MXP\"],\"Cf-Visitor\":[\"{\\\"scheme\\\":\\\"https\\\"}\"],\"If-None-Match\":[\"W/\\\"10-oV4hJxRVSENxc/wX8+mA4/Pe4tA\\\"\"],\"Origin\":[\"http://localhost\"],\"Referer\":[\"http://localhost/\"],\"Sec-Fetch-Dest\":[\"empty\"],\"Sec-Fetch-Mode\":[\"cors\"],\"Sec-Fetch-Site\":[\"cross-site\"],\"User-Agent\":[\"Mozilla/5.0 (Linux; Android 11; IN2013 Build/RP1A.201005.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/96.0.4664.45 Mobile Safari/537.36\"],\"X-Forwarded-For\":[\"5.90.106.228\"],\"X-Forwarded-Host\":[\"xxxxxxxx\"],\"X-Forwarded-Port\":[\"443\"],\"X-Forwarded-Proto\":[\"https\"],\"X-Forwarded-Server\":[\"b8edaee95b5f\"],\"X-Real-Ip\":[\"188.114.102.36\"],\"X-Requested-With\":[\"com.audiobookshelf.app\"]},\"ContentLength\":0,\"TransferEncoding\":null,\"Host\":\"xxxxxxxx\",\"Form\":null,\"PostForm\":null,\"MultipartForm\":null,\"Trailer\":null,\"RemoteAddr\":\"188.114.102.36:24498\",\"RequestURI\":\"/ping\",\"TLS\":null}"
@rubbo898 commented on GitHub (Nov 23, 2021): Hi @typhooncarr, I've tried to follow your advice but nothing changed. Here below my Traefik configurations docker run labels: ``` traefik.enable=true traefik.http.services.JAshelf-svc.loadbalancer.passhostheader=true traefik.http.routers.JAshelf-rtr.entrypoints=https traefik.http.routers.JAshelf-rtr.rule=Host(`xxxxxxxxxx`) traefik.http.routers.JAshelf-rtr.service=JAshelf-svc traefik.http.services.JAshelf-svc.loadbalancer.server.port=80 traefik.http.routers.JAshelf-rtr.middlewares=chain-no-auth-jashelf@file ``` middlewares-chains.toml file: ``` [http.middlewares] [http.middlewares.chain-no-auth-jashelf] [http.middlewares.chain-no-auth-jashelf.chain] middlewares = [ "middlewares-secure-headers", "middlewares-sslheader"] ``` middlewares-chains.toml file: ``` [http.middlewares] [http.middlewares.middlewares-rate-limit] [http.middlewares.middlewares-rate-limit.rateLimit] average = 100 burst = 50 [http.middlewares.middlewares-secure-headers] [http.middlewares.middlewares-secure-headers.headers] accessControlAllowMethods= ["GET", "OPTIONS", "PUT"] accessControlMaxAge = 100 hostsProxyHeaders = ["X-Forwarded-Host"] sslRedirect = true stsSeconds = 63072000 stsIncludeSubdomains = true stsPreload = true forceSTSHeader = true contentTypeNosniff = true browserXssFilter = true referrerPolicy = "same-origin" featurePolicy = "camera 'none'; geolocation 'none'; microphone 'none'; payment 'none'; usb 'none'; vr 'none';" customFrameOptionsValue = "allow-from https:xxxxxxxx" # [http.middlewares.middlewares-secure-headers.headers.sslproxyheaders] X-Forwarded-Proto = "https" [http.middlewares.middlewares-secure-headers.headers.customResponseHeaders] X-Robots-Tag = "none,noarchive,nosnippet,notranslate,noimageindex," server = "" [http.middlewares.middlewares-sslheader.headers] [http.middlewares.middlewares-sslheader.headers.customrequestheaders] X-Forwarded-Proto = "https" ``` Am I missing something? > `v0.9.27-beta` is live on the play store where I added some additional error messages. I realized there was only a generic error message getting printed. Hopefully that can give us a little more to go off of. Same outcomes from the logs ABS: `today at 12:19:13 [2021-11-23T11:19:13.190Z] INFO: Recieved ping` Traefik: ``` today at 12:19:13 time="2021-11-23T12:19:13+01:00" level=debug msg="vulcand/oxy/roundrobin/rr: begin ServeHttp on request" Request="{\"Method\":\"GET\",\"URL\":{\"Scheme\":\"\",\"Opaque\":\"\",\"User\":null,\"Host\":\"\",\"Path\":\"/ping\",\"RawPath\":\"\",\"ForceQuery\":false,\"RawQuery\":\"\",\"Fragment\":\"\",\"RawFragment\":\"\"},\"Proto\":\"HTTP/2.0\",\"ProtoMajor\":2,\"ProtoMinor\":0,\"Header\":{\"Accept\":[\"application/json, text/plain, */*\"],\"Accept-Encoding\":[\"gzip\"],\"Accept-Language\":[\"it-IT,it;q=0.9,en-US;q=0.8,en;q=0.7\"],\"Cdn-Loop\":[\"cloudflare\"],\"Cf-Connecting-Ip\":[\"5.90.106.228\"],\"Cf-Ipcountry\":[\"IT\"],\"Cf-Ray\":[\"6b2a00552f66e907-MXP\"],\"Cf-Visitor\":[\"{\\\"scheme\\\":\\\"https\\\"}\"],\"If-None-Match\":[\"W/\\\"10-oV4hJxRVSENxc/wX8+mA4/Pe4tA\\\"\"],\"Origin\":[\"http://localhost\"],\"Referer\":[\"http://localhost/\"],\"Sec-Fetch-Dest\":[\"empty\"],\"Sec-Fetch-Mode\":[\"cors\"],\"Sec-Fetch-Site\":[\"cross-site\"],\"User-Agent\":[\"Mozilla/5.0 (Linux; Android 11; IN2013 Build/RP1A.201005.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/96.0.4664.45 Mobile Safari/537.36\"],\"X-Forwarded-For\":[\"5.90.106.228\"],\"X-Forwarded-Host\":[\"xxxxxxxx\"],\"X-Forwarded-Port\":[\"443\"],\"X-Forwarded-Proto\":[\"https\"],\"X-Forwarded-Server\":[\"b8edaee95b5f\"],\"X-Real-Ip\":[\"188.114.102.36\"],\"X-Requested-With\":[\"com.audiobookshelf.app\"]},\"ContentLength\":0,\"TransferEncoding\":null,\"Host\":\"xxxxxxxx\",\"Form\":null,\"PostForm\":null,\"MultipartForm\":null,\"Trailer\":null,\"RemoteAddr\":\"188.114.102.36:24498\",\"RequestURI\":\"/ping\",\"TLS\":null}" today at 12:19:13 time="2021-11-23T12:19:13+01:00" level=debug msg="vulcand/oxy/roundrobin/rr: Forwarding this request to URL" Request="{\"Method\":\"GET\",\"URL\":{\"Scheme\":\"\",\"Opaque\":\"\",\"User\":null,\"Host\":\"\",\"Path\":\"/ping\",\"RawPath\":\"\",\"ForceQuery\":false,\"RawQuery\":\"\",\"Fragment\":\"\",\"RawFragment\":\"\"},\"Proto\":\"HTTP/2.0\",\"ProtoMajor\":2,\"ProtoMinor\":0,\"Header\":{\"Accept\":[\"application/json, text/plain, */*\"],\"Accept-Encoding\":[\"gzip\"],\"Accept-Language\":[\"it-IT,it;q=0.9,en-US;q=0.8,en;q=0.7\"],\"Cdn-Loop\":[\"cloudflare\"],\"Cf-Connecting-Ip\":[\"5.90.106.228\"],\"Cf-Ipcountry\":[\"IT\"],\"Cf-Ray\":[\"6b2a00552f66e907-MXP\"],\"Cf-Visitor\":[\"{\\\"scheme\\\":\\\"https\\\"}\"],\"If-None-Match\":[\"W/\\\"10-oV4hJxRVSENxc/wX8+mA4/Pe4tA\\\"\"],\"Origin\":[\"http://localhost\"],\"Referer\":[\"http://localhost/\"],\"Sec-Fetch-Dest\":[\"empty\"],\"Sec-Fetch-Mode\":[\"cors\"],\"Sec-Fetch-Site\":[\"cross-site\"],\"User-Agent\":[\"Mozilla/5.0 (Linux; Android 11; IN2013 Build/RP1A.201005.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/96.0.4664.45 Mobile Safari/537.36\"],\"X-Forwarded-For\":[\"5.90.106.228\"],\"X-Forwarded-Host\":[\"xxxxxxxx\"],\"X-Forwarded-Port\":[\"443\"],\"X-Forwarded-Proto\":[\"https\"],\"X-Forwarded-Server\":[\"b8edaee95b5f\"],\"X-Real-Ip\":[\"188.114.102.36\"],\"X-Requested-With\":[\"com.audiobookshelf.app\"]},\"ContentLength\":0,\"TransferEncoding\":null,\"Host\":\"xxxxxxxx\",\"Form\":null,\"PostForm\":null,\"MultipartForm\":null,\"Trailer\":null,\"RemoteAddr\":\"188.114.102.36:24498\",\"RequestURI\":\"/ping\",\"TLS\":null}" ForwardURL="http://172.19.0.24:80" today at 12:19:13 time="2021-11-23T12:19:13+01:00" level=debug msg="vulcand/oxy/roundrobin/rr: completed ServeHttp on request" Request="{\"Method\":\"GET\",\"URL\":{\"Scheme\":\"\",\"Opaque\":\"\",\"User\":null,\"Host\":\"\",\"Path\":\"/ping\",\"RawPath\":\"\",\"ForceQuery\":false,\"RawQuery\":\"\",\"Fragment\":\"\",\"RawFragment\":\"\"},\"Proto\":\"HTTP/2.0\",\"ProtoMajor\":2,\"ProtoMinor\":0,\"Header\":{\"Accept\":[\"application/json, text/plain, */*\"],\"Accept-Encoding\":[\"gzip\"],\"Accept-Language\":[\"it-IT,it;q=0.9,en-US;q=0.8,en;q=0.7\"],\"Cdn-Loop\":[\"cloudflare\"],\"Cf-Connecting-Ip\":[\"5.90.106.228\"],\"Cf-Ipcountry\":[\"IT\"],\"Cf-Ray\":[\"6b2a00552f66e907-MXP\"],\"Cf-Visitor\":[\"{\\\"scheme\\\":\\\"https\\\"}\"],\"If-None-Match\":[\"W/\\\"10-oV4hJxRVSENxc/wX8+mA4/Pe4tA\\\"\"],\"Origin\":[\"http://localhost\"],\"Referer\":[\"http://localhost/\"],\"Sec-Fetch-Dest\":[\"empty\"],\"Sec-Fetch-Mode\":[\"cors\"],\"Sec-Fetch-Site\":[\"cross-site\"],\"User-Agent\":[\"Mozilla/5.0 (Linux; Android 11; IN2013 Build/RP1A.201005.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/96.0.4664.45 Mobile Safari/537.36\"],\"X-Forwarded-For\":[\"5.90.106.228\"],\"X-Forwarded-Host\":[\"xxxxxxxx\"],\"X-Forwarded-Port\":[\"443\"],\"X-Forwarded-Proto\":[\"https\"],\"X-Forwarded-Server\":[\"b8edaee95b5f\"],\"X-Real-Ip\":[\"188.114.102.36\"],\"X-Requested-With\":[\"com.audiobookshelf.app\"]},\"ContentLength\":0,\"TransferEncoding\":null,\"Host\":\"xxxxxxxx\",\"Form\":null,\"PostForm\":null,\"MultipartForm\":null,\"Trailer\":null,\"RemoteAddr\":\"188.114.102.36:24498\",\"RequestURI\":\"/ping\",\"TLS\":null}" ```
Author
Owner

@typhooncarr commented on GitHub (Nov 23, 2021):

Hi @rubbo898,

In middlewares-secure-headers.headers remove the following lines
accessControlAllowMethods= ["GET", "OPTIONS", "PUT"]
accessControlMaxAge = 100

remove middleware-rate-limit all together depending on the library size, with the new lazy load code that was introduced a little bit ago this might not be needed any more. The rate limit can make it so that the covers show up as invalid

@typhooncarr commented on GitHub (Nov 23, 2021): Hi @rubbo898, In middlewares-secure-headers.headers remove the following lines accessControlAllowMethods= ["GET", "OPTIONS", "PUT"] accessControlMaxAge = 100 remove middleware-rate-limit all together depending on the library size, with the new lazy load code that was introduced a little bit ago this might not be needed any more. The rate limit can make it so that the covers show up as invalid
Author
Owner

@rubbo898 commented on GitHub (Nov 24, 2021):

Hi @rubbo898,

In middlewares-secure-headers.headers remove the following lines accessControlAllowMethods= ["GET", "OPTIONS", "PUT"] accessControlMaxAge = 100

remove middleware-rate-limit all together depending on the library size, with the new lazy load code that was introduced a little bit ago this might not be needed any more. The rate limit can make it so that the covers show up as invalid

I (@typhooncarr) GOT IT!

Here below my configuration, I'm 100% sure it's not the optimal one but at least it works:

ABS container labels:

traefik.enable=true
traefik.http.services.JAshelf-svc.loadbalancer.passhostheader=true
traefik.http.routers.JAshelf-rtr.entrypoints=https
traefik.http.routers.JAshelf-rtr.rule=Host(`xxxxxxxxxx`)
traefik.http.routers.JAshelf-rtr.service=JAshelf-svc
traefik.http.services.JAshelf-svc.loadbalancer.server.port=80
traefik.http.routers.JAshelf-rtr.middlewares=chain-no-auth-jashelf@file

middlewares-chains.toml file:

[http.middlewares]
  [http.middlewares.chain-no-auth-jashelf]
    [http.middlewares.chain-no-auth-jashelf.chain]
      middlewares = [ "middlewares-secure-headers", "middlewares-sslheader"]

middlewares-chains.toml file:

[http.middlewares]
    [http.middlewares.middlewares-secure-headers]
        [http.middlewares.middlewares-secure-headers.headers]
            hostsProxyHeaders = ["X-Forwarded-Host"]
            sslRedirect = true
            stsSeconds = 63072000
            stsIncludeSubdomains = true
            stsPreload = true
            forceSTSHeader = true
            contentTypeNosniff = true 
            browserXssFilter = true 
            referrerPolicy = "same-origin"
            featurePolicy = "camera 'none'; geolocation 'none'; microphone 'none'; payment 'none'; usb 'none'; vr 'none';" 
            customFrameOptionsValue = "allow-from https:jimmyproject.tech" #
        
        [http.middlewares.middlewares-secure-headers.headers.sslproxyheaders]
            X-Forwarded-Proto = "https"
        
        [http.middlewares.middlewares-secure-headers.headers.customResponseHeaders]
            X-Robots-Tag = "none,noarchive,nosnippet,notranslate,noimageindex,"
            server = ""
            
    [http.middlewares.middlewares-sslheader.headers]
        [http.middlewares.middlewares-sslheader.headers.customrequestheaders]
            X-Forwarded-Proto = "https"

@typhooncarr if you have suggestion on how to improve it please let me/us know! Thanks for your time

@rubbo898 commented on GitHub (Nov 24, 2021): > Hi @rubbo898, > > In middlewares-secure-headers.headers remove the following lines accessControlAllowMethods= ["GET", "OPTIONS", "PUT"] accessControlMaxAge = 100 > > remove middleware-rate-limit all together depending on the library size, with the new lazy load code that was introduced a little bit ago this might not be needed any more. The rate limit can make it so that the covers show up as invalid I (@typhooncarr) GOT IT! Here below my configuration, I'm 100% sure it's not the optimal one but at least it works: ABS container labels: ``` traefik.enable=true traefik.http.services.JAshelf-svc.loadbalancer.passhostheader=true traefik.http.routers.JAshelf-rtr.entrypoints=https traefik.http.routers.JAshelf-rtr.rule=Host(`xxxxxxxxxx`) traefik.http.routers.JAshelf-rtr.service=JAshelf-svc traefik.http.services.JAshelf-svc.loadbalancer.server.port=80 traefik.http.routers.JAshelf-rtr.middlewares=chain-no-auth-jashelf@file ``` middlewares-chains.toml file: ``` [http.middlewares] [http.middlewares.chain-no-auth-jashelf] [http.middlewares.chain-no-auth-jashelf.chain] middlewares = [ "middlewares-secure-headers", "middlewares-sslheader"] ``` middlewares-chains.toml file: ``` [http.middlewares] [http.middlewares.middlewares-secure-headers] [http.middlewares.middlewares-secure-headers.headers] hostsProxyHeaders = ["X-Forwarded-Host"] sslRedirect = true stsSeconds = 63072000 stsIncludeSubdomains = true stsPreload = true forceSTSHeader = true contentTypeNosniff = true browserXssFilter = true referrerPolicy = "same-origin" featurePolicy = "camera 'none'; geolocation 'none'; microphone 'none'; payment 'none'; usb 'none'; vr 'none';" customFrameOptionsValue = "allow-from https:jimmyproject.tech" # [http.middlewares.middlewares-secure-headers.headers.sslproxyheaders] X-Forwarded-Proto = "https" [http.middlewares.middlewares-secure-headers.headers.customResponseHeaders] X-Robots-Tag = "none,noarchive,nosnippet,notranslate,noimageindex," server = "" [http.middlewares.middlewares-sslheader.headers] [http.middlewares.middlewares-sslheader.headers.customrequestheaders] X-Forwarded-Proto = "https" ``` @typhooncarr if you have suggestion on how to improve it please let me/us know! Thanks for your time
Author
Owner

@cregkly commented on GitHub (Jun 26, 2022):

I just setup a new install with traefik and didn't need to do any of this.

@cregkly commented on GitHub (Jun 26, 2022): I just setup a new install with traefik and didn't need to do any of this.
Author
Owner

@alexhk90 commented on GitHub (Nov 11, 2025):

Appreciate that this thread is 5 years old now, but in case anyone else finds it when trying to connect through traefik, I didn't need to do anything special either; it all seems to "just work" adding the usual traefik labels, e.g.

- traefik.enable=true
- traefik.http.routers.abs.entrypoints=websecure
- traefik.http.routers.abs.rule=Host(`abs.yourdomain.xyz`)
@alexhk90 commented on GitHub (Nov 11, 2025): Appreciate that this thread is 5 years old now, but in case anyone else finds it when trying to connect through traefik, I didn't need to do anything special either; it all seems to "just work" adding the usual traefik labels, e.g. ``` - traefik.enable=true - traefik.http.routers.abs.entrypoints=websecure - traefik.http.routers.abs.rule=Host(`abs.yourdomain.xyz`) ```
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/audiobookshelf-app#23