我有一个运行ubuntu+apache的服务器。我有一个网站正在运行(旧的ipython笔记本,有一个多用户破解),可以通过xxx.xx.xx.xx(=:myip)访问。相应的名为sins.conf
的apache配置如下所示:
<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),我设置了一个名为jupyterhub.conf
:的新apache配置
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显示服务不可用。
我不明白我需要改变什么才能让两个网站同时工作。有什么帮助吗?
编辑:我认为我需要将jupythub配置放入<VirtualHost *:9111>
中,但如果我启动jupythUB服务器,它会显示
代理似乎正在运行http://myip:9111,但我无法访问它。连接被拒绝
好吧,所以技巧正如我所设想的:它需要放在VirtualHost中。出于某种原因,我最初在下面的配置代码前面放了一个Listen 9111
,这就是为什么它阻止了一些东西。。以下是代码,以防有人感兴趣:
<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>