Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Header seems missing when proxying Transmission #3029

Closed
devster31 opened this issue Mar 15, 2018 · 3 comments
Closed

Header seems missing when proxying Transmission #3029

devster31 opened this issue Mar 15, 2018 · 3 comments

Comments

@devster31
Copy link

Do you want to request a feature or report a bug?

Bug I presume.

What did you do?

I'm trying to proxy transmission.

What did you expect to see?

The transmission WEB UI.

What did you see instead?

I got back a webpage with the following:

409: Conflict
Your request had an invalid session-id header.

To fix this, follow these steps:

  1. When reading a response, get its X-Transmission-Session-Id header and remember it
  2. Add the updated header to your outgoing requests
  3. When you get this 409 error message, resend your request with the updated header

This requirement has been added to help prevent CSRF attacks.
X-Transmission-Session-Id: <SessionID>

I'm a bit stumped, where could this come from?

Output of traefik version:

Version:      v1.5.3
Codename:     cancoillotte
Go version:   go1.9.4
Built:        2018-02-27_02:47:04PM
OS/Arch:      linux/arm

What is your environment & configuration (arguments, toml, provider, platform, ...)?

version: '3.3'
services:
  traefik:
    command:
      # - --debug
      - --loglevel=INFO
      - --defaultentrypoints=http,https
      - --entryPoints=Name:http Address::80 Redirect.EntryPoint:https
      - --entryPoints=Name:https Address::443 Compress:true
          TLS:/certs/${DOMAIN}.crt,/certs/${DOMAIN}.key TLS.MinVersion:VersionTLS12
          TLS.CipherSuites:["TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256","TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384","TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305","TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256","TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384","TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256","TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256"]
      - --entryPoints=Name:api Address::8080
      - --api.entrypoint=api
      - --acme=true
      - --acme.acmelogging=true
      - --acme.email=${EMAIL}
      - --acme.domains=${DOMAIN}
      - --acme.storage=/etc/traefik/acme.json
      - --acme.entrypoint=https
      - --acme.onhostrule=true
      - --acme.dnschallenge=true
      - --acme.dnschallenge.provider=cloudflare
      - --acme.tlsconfig=true
      - --docker=true
      - --docker.debugloggeneratedtemplate=true
      - --docker.domain='${DOMAIN}'
      - --docker.exposedbydefault=false
      - --docker.usebindportip=true
      - --docker.watch=true
      - --file=true
      - --file.filename=/etc/traefik/external.toml
      - --file.watch=true

And the external.toml file:

[backends.transmission.servers.server0]
url = "http://<username>:<password>@<docker_IP>:9091"

[frontends]
  [frontends.transmission]
  backend = "transmission"
  passHostHeader = true
    [frontends.transmission.routes.route1]
    rule = "Host:alioth.ovh,rpi3.local;PathPrefix:/transmission,/transmission/"
@traefiker
Copy link
Contributor

Hi! I'm Træfiker 🤖 the bot in charge of communication regulation.

Thanks for your interest in Træfik!

We dedicate the issue tracker to bug reports and feature requests only.

If you have questions and need community support, you can join our Slack workspace and reach out to us on the #support channel.

Another option is to use Stack Overflow and tag your question traefik.

Of course, double checking Træfik's documentation is always a good idea 😅

@jkaberg
Copy link

jkaberg commented Mar 16, 2019

@idez would you mind opening again?

So this issue stems from Transmission setting an Response Header (eg: x-transmission-session-id: <random upper/lowercase numerical string>), wheres it expect to get this very same Header and value as an Request Header upon new request.

I tried looking over the documentation however I can't seem to find if this is currently doable, eg. passing (and not adding/removing/modifing) headers.

@devster31
Copy link
Author

The only thing I found is the stickiness option which also provides stickiness.cookieName but not a Header version.

@traefik traefik locked and limited conversation to collaborators Sep 1, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

5 participants