2015-11-24 6 views
1

У меня есть сервер, на котором запущен ubuntu + apache. У меня есть веб-сайт (старый ipython-ноутбук с многопользовательским взломом), к которому можно получить доступ через xxx.xx.xx.xx (=: myip). Соответствующая конфигурация apache, называемая sins.conf, выглядит следующим образом:Apache virtual host + обратный прокси-конфликт

<VirtualHost *:80> 
    ServerName ipython.local-server 
    ServerAlias 

    WSGIDaemonProcess ipythonapp2 user=www-data group=www-data processes=2 threads=5\ 
    python-path=/home/sins/ilmrt/lib/python2.7/site-packages 
    WSGIScriptAlias//home/sins/ilmrt/ipysite/wsgi.py 
    <Directory /home/sins/ilmrt/ipysite> 
    #WSGIProcessGroup ipythonapp2 
     WSGIApplicationGroup %{GLOBAL} 
     Require all granted 
     Allow from all 
    </Directory> 
    Alias /static/ /home/sins/ilmrt/ipysite/static/ 
    <Location "/static/"> 
     Options -Indexes 
    </Location> 
</VirtualHost> 

и работает отлично.

Теперь, так как я собираюсь запустить новый веб-сайт (jupyterhub) с обратным прокси в дополнение, я установка новой конфигурации Apache называется jupyterhub.conf:

ProxyPass/http://localhost:9111/ 
ProxyPassReverse/http://localhost:9111/ 

Header edit Origin http://myip:9111/ localhost:9111 
RequestHeader edit Origin http://myip:9111 localhost:9111 

Header edit Referer http://myip:9111 localhost:9111 
RequestHeader edit Referer http://myip:9111 localhost:9111 
<Location ~ "/(user/[^/]*)/(api/kernels/[^/]+/channels|terminals/websocket)/?"> 
    ProxyPass ws://localhost:9111 
    ProxyPassReverse ws://localhost:9111 
</Location> 

Если я бегу sudo a2ensite jupyterhub и sudo service apache2 reload, новый сайт работает, как ожидается, под http://myip:9111. Тем не менее, старый веб-сайт с адресом http://myip показывает Услуга недоступна.

Я не понимаю, что мне нужно изменить, чтобы оба сайта работали одновременно. Любая помощь?

EDIT: Я считаю, что мне нужно поставить конфигурацию jupyterhub внутри <VirtualHost *:9111>, но если я запустить сервер jupyterhub это говорит
Proxy, кажется, работает на http://myip:9111, но я не могу получить доступ к нему. В соединении отказано.

ответ

1

Хорошо, поэтому трюк был таким, каким я предполагал: его нужно поместить в VirtualHost. По какой-то причине я изначально поставить Listen 9111 перед конфиг-кода ниже, поэтому он заблокирован something..Here в код в случае, если кто интересуется:

<VirtualHost *:9111> 
    ProxyPass/http://localhost:9111/ 
    ProxyPassReverse/http://localhost:9111/ 

    Header edit Origin http://myip:9111/ localhost:9111 
    RequestHeader edit Origin http://myip:9111 localhost:9111 

    Header edit Referer http://myip:9111 localhost:9111 
    RequestHeader edit Referer http://myip:9111 localhost:9111 

    <Location ~ "/(user/[^/]*)/(api/kernels/[^/]+/channels|terminals/websocket)/?"> 
     ProxyPass ws://localhost:9111 
     ProxyPassReverse ws://localhost:9111 
    </Location> 

    LogLevel debug 
</VirtualHost> 
+0

Прослушивать 9111 велик .Это также решить моя проблема! Большое спасибо –

Смежные вопросы