Server Apache proxypass重定向到多个unix套接字

Server Apache proxypass重定向到多个unix套接字,server,apache2,reverse-proxy,gunicorn,Server,Apache2,Reverse Proxy,Gunicorn,我有一台使用gunicorn.socket运行多个flask实例的服务器,并且配置了一台apache2服务器来代理请求: <VirtualHost *:80> ProxyPreserveHost On ProxyPass / unix:///run/gunicorn_site0.sock|http://127.0.1.1/ ProxyPassReverse / unix:///run/gunicorn_site0.sock|http

我有一台使用gunicorn.socket运行多个flask实例的服务器,并且配置了一台apache2服务器来代理请求:

<VirtualHost *:80>

        ProxyPreserveHost On

        ProxyPass / unix:///run/gunicorn_site0.sock|http://127.0.1.1/
        ProxyPassReverse / unix:///run/gunicorn_site0.sock|http://127.0.1.1/

        # RewriteEngine On
        # RewriteRule      ^/0/(.*)$ unix:///run/gunicorn_site0.sock|http://127.0.1.1/$1  [P,L]

        # ProxyPass /1 unix:///run/gunicorn_site1.sock|http://127.0.1.1/
        # ProxyPassReverse /1 unix:///run/gunicorn_site1.sock|http://127.0.1.1/

        # ProxyPass /2 unix:///run/gunicorn_site2.sock|http://127.0.1.1/
        # ProxyPassReverse /2 unix:///run/gunicorn_site2.sock|http://127.0.1.1/

</VirtualHost>
我用重写规则尝试了多种方法,但没有成功

有什么想法吗?

您是否尝试在/0中使用“第一个站点”而不是/?没有理由失败,但我认为您首先要通过proxypass“吃掉”所有子URL:

ProxyPass /0 unix:///run/gunicorn_site0.sock|http://127.0.1.1/0
ProxyPass /1 unix:///run/gunicorn_site1.sock|http://127.0.1.1/1
ProxyPass /2 unix:///run/gunicorn_site2.sock|http://127.0.1.1/2
不过,您可能需要确保所有python应用程序都在“子目录”中正常运行。(例如通过在gunicorn环境中设置脚本名称)

ProxyPass /0 unix:///run/gunicorn_site0.sock|http://127.0.1.1/0
ProxyPass /1 unix:///run/gunicorn_site1.sock|http://127.0.1.1/1
ProxyPass /2 unix:///run/gunicorn_site2.sock|http://127.0.1.1/2