Code Monkey home page Code Monkey logo

Comments (15)

rubbo898 avatar rubbo898 commented on July 29, 2024 4

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

from audiobookshelf-app.

rubbo898 avatar rubbo898 commented on July 29, 2024 1

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!! 🍿🍻

from audiobookshelf-app.

typhooncarr avatar typhooncarr commented on July 29, 2024 1

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

from audiobookshelf-app.

advplyr avatar advplyr commented on July 29, 2024

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?

from audiobookshelf-app.

advplyr avatar advplyr commented on July 29, 2024

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.

from audiobookshelf-app.

rubbo898 avatar rubbo898 commented on July 29, 2024

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

from audiobookshelf-app.

advplyr avatar advplyr commented on July 29, 2024

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.

from audiobookshelf-app.

kulps avatar kulps commented on July 29, 2024

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

from audiobookshelf-app.

rubbo898 avatar rubbo898 commented on July 29, 2024

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?

from audiobookshelf-app.

advplyr avatar advplyr commented on July 29, 2024

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?

from audiobookshelf-app.

rubbo898 avatar rubbo898 commented on July 29, 2024

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

from audiobookshelf-app.

advplyr avatar advplyr commented on July 29, 2024

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.

from audiobookshelf-app.

typhooncarr avatar typhooncarr commented on July 29, 2024

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"

from audiobookshelf-app.

rubbo898 avatar rubbo898 commented on July 29, 2024

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}"

from audiobookshelf-app.

cregkly avatar cregkly commented on July 29, 2024

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

from audiobookshelf-app.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.