Обслуживание двух внутренних серверов с использованием одного сервера apache2 - PullRequest
0 голосов
/ 02 июня 2019

У меня есть один сервер AWS, на котором я хочу разместить сервер сообщества Rstudio и jupyterhub. По умолчанию они работают на портах 8787 и 8000 соответственно. Я хочу создать сервер apache, который будет выполнять следующие действия (давайте назовем мои серверы общедоступными dns www.mydomain.com):

Сервер Rstudio будет обслуживаться по адресу www.mydomain.com/rstudio

.

Jupyterhub будет обслуживаться по адресу www.mydomain.com/jupyterhub

.

В настоящее время я установил только сервер jupyterhub и пытаюсь правильно перенаправить все запросы на /jupyterhub на внутренний сервер jupyterhub. В настоящее время я был в состоянии перенаправить Apache, работающий на порту 443, на jupyterhub, работающий на 127.0.0.1:8000, но не смог включить расширение url /jupyterhub в процесс.

Вот соответствующий файл настроек

jupyterhub_config.py

c.JupyterHub.ip = '127.0.0.1'
c.Spawner.default_url = '/lab'

сайты-доступные / по умолчанию-ssl.config

 RewriteEngine On
  RewriteCond %{HTTP:Connection} Upgrade [NC]
  RewriteCond %{HTTP:Upgrade} websocket [NC]
  RewriteRule /(.*) ws://127.0.0.1:8000/$1 [P,L]
  RewriteRule /(.*) http://127.0.0.1:8000/$1 [P,L]

    # preserve Host header to avoid cross-origin problems
    ProxyPreserveHost on
    # proxy to JupyterHub
  <Location "/">
    ProxyPass  http://127.0.0.1:8000/
    ProxyPassReverse  http://127.0.0.1:8000/
  </Location>

Этот параметр работает правильно, и мой jupyterhub обслуживается в https:\\www.mydomain.com

Это то, что я пытался обслужить https:\\www.mydomain.com\jupyterhub

сайты-доступные / по умолчанию-ssl.config

 RewriteEngine On
  RewriteCond %{HTTP:Connection} Upgrade [NC]
  RewriteCond %{HTTP:Upgrade} websocket [NC]
  RewriteRule /jupyterhub/(.*) ws://127.0.0.1:8000/$1 [P,L]
  RewriteRule /jupyterhub/(.*) http://127.0.0.1:8000/$1 [P,L]

    # preserve Host header to avoid cross-origin problems
    ProxyPreserveHost on
    # proxy to JupyterHub
  <Location "/jupyterhub">
    ProxyPass  http://127.0.0.1:8000/
    ProxyPassReverse  http://127.0.0.1:8000/
  </Location>

теперь всякий раз, когда я пытаюсь открыть https:\\www.mydomain.com\jupyterhub, он перенаправляет меня на https:\\www.mydomain.com\hub и выдает ошибку:

запрошенный URL / концентратор не найден на этом сервере.

Мое понимание proxypass и RewriteEngine практически отсутствует. Я сделал эти конфигурации, копируя различные учебники и блоги.

Было бы полезно, если бы кто-то мог дополнительно объяснить, чего именно достигают эти два инструмента и как.

Заранее спасибо

...