2017-07-07 6 views
2

実行中のレールアプリケーションがmyapp.site.comで動作しています。このアプリはポート9000で実行されており、ApacheのProxyPassを使用しています。Apacheで<Directory>とProxyPassを同時に設定するにはどうすればいいですか?

すべてのページは現在レールで提供されていますが、現在は/accountルートとサブルートに配信したいJSアプリケーションがあります。このアプリのファイルは/var/www/my-vue-app/distです。

これを設定するにはどうすればよいですか?私は2つを設定しようとしました<VirtualHost>; /accountではないすべてのものと、運がない他のハックなソリューションの例外を除いて

ヒントはありますか?

答えて

0

Apacheの設定方法が見つかりましたが、基本的にProxyPassの特定のルートを除外するだけで、Apacheは期待どおりの機能を果たしました。

<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> 
関連する問題