Ноутбук Jupyter может нуждаться в HTTP версии 1.1 для прокси после переключения с Traefik 1.7 на 2.0 - PullRequest
0 голосов
/ 13 октября 2019

Проблема похожа на на этот , но вместо использования NGINX в качестве обратного прокси я использую Traefik. У меня не было проблем с Traefik 1.7, но переход на 2.0 привел к появлению проблемы.

Это решено в NGINX с помощью proxy_http_version 1.1;

Syntax: proxy_http_version 1.0 | 1.1;
Default:    
proxy_http_version 1.0;
Context:    http, server, location
This directive appeared in version 1.1.4.

Sets the HTTP protocol version for proxying. By default, version 1.0 is used. Version 1.1 is recommended for use with keepalive connections and NTLM authentication.

Вероятно, этосвязан с переадресацией порта 9999 на 80, но если я попытаюсь сказать Jupyter использовать порт 80, он не запустится, сообщив, что порт 80 недоступен ...

Вот докер-compose.yml:

version: '3'

volumes:
  jupyter:
    driver: local

networks:
  traefik:
    external: true

services:
  jupyter:
    image: jupyter/datascience-notebook
    networks:
      - traefik
    labels:
      - "traefik.enable=true"
      # Get the data from port xxxx instead of port 80
      - "traefik.http.services.jupyter.loadbalancer.server.port=9999"
      # Get the routes from http
      - "traefik.http.routers.jupyter.rule=Host(`jupyter.mysite.com`)"
      - "traefik.http.routers.jupyter.entrypoints=web"
      # Redirect these routes to https
      - "traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https"
      - "traefik.http.routers.jupyter.middlewares=redirect-to-https@docker"
      # Get the routes from https
      - "traefik.http.routers.jupyter-secured.rule=Host(`jupyter.mysite.com`)"
      - "traefik.http.routers.jupyter-secured.entrypoints=web-secure"
      # Apply autentificiation with http challenge
      - "traefik.http.routers.jupyter-secured.tls=true"
      - "traefik.http.routers.jupyter-secured.tls.certresolver=myhttpchallenge"
    user: root
    working_dir: /home/mysuer/work
    volumes:
      - ./work:/home/mysuer/work
    environment:
      - JUPYTER_ENABLE_LAB=yes
      - NB_USER=myuser
      - NB_UID=1000
      - NB_GID=1000
      - CHOWN_HOME=yes
    command: start-notebook.sh --NotebookApp.token='mytoken' --no-browser --allow-root --notebook-dir=/home/mysuer/work --port 9999

Я не нашел, как настроить Traefik для использования HTTP версии 1.1 для прокси ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...