2017-07-07 1 views
2

J'ai une application de rails de course fonctionnant sous myapp.site.com. Cette application fonctionne à l'intérieur sur le port 9000 et nous utilisons ProxyPass d'apache.Comment configurer simultanément <Directory> et ProxyPass sur Apache?

Toutes les pages sont actuellement desservies par des rails, mais maintenant j'ai une application JS que je veux servir sur /account route et sous-routines. Les fichiers de cette application sont sous /var/www/my-vue-app/dist.

Comment puis-je configurer ceci en utilisant apache? J'ai essayé d'installer deux <VirtualHost>; faire une exception pour tout ce qui n'est pas /account, et un tas d'autres solutions hacky à pas de chance

Des conseils?

Répondre

0

J'ai trouvé comment configurer apache, fondamentalement je juste ai dû exclure l'itinéraire spécifique sur ProxyPass et apache sert le comme prévu.

<VirtualHost *:80> 
    DocumentRoot /var/www/myapp/dist 

    ProxyPreserveHost On 
    ProxyPass /account ! 
    ProxyPass/http://localhost:9000/ 
    ProxyPassReverse/http://localhost:9000/ 

    Alias /account /var/www/myapp/dist 
    <Directory /var/www/myapp/dist> 
      DirectoryIndex index.html 
      AllowOverride all 
      Order allow,deny 
      Allow from all 

      RewriteEngine On 
      RewriteBase /account 
      RewriteRule ^index\.html$ - [L] 
      RewriteCond %{REQUEST_FILENAME} !-f 
      RewriteCond %{REQUEST_FILENAME} !-d 
      RewriteRule ^(.*)$ /account/index.html [L] 
    </Directory> 
</VirtualHost>