Linux

Apache ProxyPass フレームワーク公開用内部リダイレクト

 

やりたいこと

  • 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

 

 

Amazonおすすめ

iPad 9世代 2021年最新作

iPad 9世代出たから買い替え。安いぞ!🐱 初めてならiPad。Kindleを外で見るならiPad mini。ほとんどの人には通常のiPadをおすすめします><

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)