У меня есть один сервер 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 практически отсутствует. Я сделал эти конфигурации, копируя различные учебники и блоги.
Было бы полезно, если бы кто-то мог дополнительно объяснить, чего именно достигают эти два инструмента и как.
Заранее спасибо