もくじ
やりたいこと
- http://www.sample.net/userlist/detail/アクセスで、サーバ内部のフレームワークへhttp://app.laravel.local/userlist/detailとしてアクセスをさせる
なぜやりたいのか?
- 一部の処理だけフレームワークで処理を行いたい
http://www.sample.net/のURL, /var/www/vhosts/www.example.net/httpdocs/の公開ディレクトリのプログラムで基本的な処理を行いたい。 - フレームワーク全体を晒したくない
利用するURIからしかフレームワークへアクセスできないようにしたい
今回の記事だと、『/userlist/detail』の部分でしかフレームワークにアクセスさせない
具体的には、
「お問い合わせ、ショッピングカート機能だけをフレームワークで実装したい」など
設定
- サイト公開URL
http://www.example.net/ - サイト公開ディレクトリ
/var/www/vhosts/www.example.net/httpdocs/ - フレームワークのURL
http://app.laravel.local/ - フレームワーク公開ディレクトリ
/var/www/vhosts/www.example.net/app/public
詳細設定
/etc/httpd/conf.d/www.example.net.conf
<VirtualHost *:80> DocumentRoot /var/www/vhosts/www.example.net/httpdocs/ ServerName www.example.net ServerAlias example.net ErrorLog logs/www.example.net-error.log CustomLog logs/www.example.net-access.log elb-customlog env=!nolog <Location "/userlist/detail"> ProxyPass http://app.laravel.local/userlist/detail ProxyPassReverse http://app.laravel.local/userlist/detail </Location> <Directory "/var/www/vhosts/www.example.net/httpdocs/"> # 2.2系 #AllowOverride All #Order allow,deny #Allow from all # 2.4系対策 AllowOverride All Require all granted </Directory> </VirtualHost> <VirtualHost *:80> DocumentRoot /var/www/vhosts/www.example.net/app/public ServerName app.laravel.local ErrorLog logs/app.laravel.local-error.log CustomLog logs/app.laravel.local-access.log elb-customlog <Directory "/var/www/vhosts/www.example.net/app/public"> # 2.2系 #AllowOverride All #Order allow,deny #Allow from all # 2.4系対策 AllowOverride All Require all granted </Directory> </VirtualHost>
WEBサービスに反映させる
# httpd -t # systemctl reload httpd
hostsの設定
# vi /etc/hosts 127.0.0.1 localhost 127.0.0.1 app.laravel.local