Exclude an alias from virtualhost proxypass

后端 未结 3 979
野趣味
野趣味 2020-12-13 19:26

I\'ve following virtual host configuration. The desired result is:

  1. If someone requests http://test.myserver.com/myapp, apache serves him from /var/www/myapp
相关标签:
3条回答
  • 2020-12-13 19:34

    Instead of using:ProxyPassMatch ^/myapp ! you could have simply added another ProxyPass directive before the one defining /, like this:

    ProxyPass /myapp !
    ProxyPass / http://localhost:8069/
    

    Since ProxyPass respects precedence (the first match will be processed), it will correctly redirect to the directory instead of proxying.

    0 讨论(0)
  • 2020-12-13 19:46

    This is how I was able to achive the desired outcome. Following is the working configuration where ProxyPassMatch ^/myapp ! did the trick and except the (server-address)/myapp, all the requests are being proxying to the other server which is open-erp running at port 8069:

    <VirtualHost *:80>
            ServerName test.myserver.com
    
            Alias /myapp /var/www/myapp
            <Directory /var/www/myapp>
                    Options Indexes FollowSymLinks MultiViews
                    AllowOverride None
                    Order allow,deny
                    Allow from all
            </Directory>
    
            ProxyPassMatch ^/myapp !
            ProxyPass / http://localhost:8069/
            ProxyPassReverse / http://localhost:8069/
    
    
      CustomLog /var/log/apache2/access.log common
      ErrorLog /var/log/apache2/error.log
    
    </VirtualHost>
    
    0 讨论(0)
  • 2020-12-13 19:48

    in case you have a RewriteCond (which is very likely when you run a proxy) this one will make you happy as well!

    <Location /.well-known/acme-challenge/>
      RewriteEngine off
      ProxyPass !
    </Location>
    
    0 讨论(0)
提交回复
热议问题