犬ターネット

本番環境と検証環境のURLを同じにする話

2012-04-09 windows

とある Rest API、検証環境と本番環境でIPアドレスもURLも違ってて、あ、以下のような感じ、

検証の都度APIのURL書き換えるのめんどくさい、本番用URLのまま検証用URLにリクエスト飛ばしたい、ということでいろいろ調べた結果、とりあえず以下のようにして解決。

1.自分のマシンに本番環境のIPアドレスを割りあてる

1台のPCに複数IPアドレス割りあてられるの知らんかった... 手元のWindows7環境だと、以下の手順で出来た。

これで、自分のマシンに 192.168.10.20 を割りあてられたから、http://192.168.10.20/ でも http://127.0.0.1/ でもローカルの httpd にリクエストがとんでいく。

2.リバースプロキシ使って検証環境にリクエスト飛ばす

ローカル の httpd.conf に以下設定を書いて httpd を再起動。

<IfModule mod_proxy.c>
  ProxyRequests off
  ProxyPass /honban/api.php http://172.22.0.150/test/api.php
  ProxyPassReverse /honban/api.php http://172.22.0.150/test/api.php
</IfModule>

これで、http://192.168.10.20/honban/api.php にアクセスすると http://172.22.0.150/test/api.php にリクエストがとんでいく。

もっと簡単な方法はないのか

たとえばhostsファイルのような書き方で

172.22.0.150/test/api.php 192.168.10.20/honban/api.php

ていうのできればすごく楽なんだけど、ちょっとやりかたわかんない。

heroku で PHP 動かした
Iron(chrome)で日本語入力ができなくなったけど Flash を入れなおしたら直った