cloudgarage

CloudGarageでプロキシサーバーを作ってみた

この記事はCloudGarageAdventCalendar2017の19日目の記事です。

なんで作ってみたのか?

Webサイトリニューアルの制作案件で、お客様にスマートフォン実機で直接確認をいただくことがあります。
この場合、公開前に、対象となるFQDN(URL)を指定して、お客様に確認いただくことはできません。
(リニューアル前の既存サイトを対象FQDN(URL)で公開しているので当然ですよね)
こんなとき、IPアドレスでアクセスしてもらったり、別FQDNを割り当てて確認いただいたりするのですが、SSL/TLS証明書まわりやその他いろいろとお客様からご指摘が入る場合があります。例えば、「URLが違うのにこれって大丈夫なんですかー?」とか「IPアドレスで公開するんですかー?」とか「証明書の警告やエラーがでてるんですけど、ちゃんとしてください」とか。
かといって、「hostsで新しいサーバーのIPを指定してください」ということも難しいわけです。スマートフォンの場合は特に。

そんなとき、自前のプロキシサーバーを利用しそこにhostsで設定しておけば、お客様にはスマートフォン実機にプロキシの設定をしてもらうだけで、対象となるFQDN(URL)にアクセス、公開前のリニューアル後のサイトを確認・閲覧できるようになります。

今回は、一時的に使いたいだけなので、契約済みのCloudGarageで余っているインスタンス枠を利用しました。

作ってみます

CloudGarageでインスタンスを作成

いつものようにメニューから「インスタンス追加」をクリック
今回はCentOS6系を利用
スクリーンショット 2017-12-17 23.50.46.png
今回は、プロキシポート「3128」は選択肢にないので、接続可能ポートは全開放とします。
スクリーンショット 2017-12-17 23.50.37.png
※別途、必ずサーバのiptablesなどで設定をしてください。
※開放しているポートに対してiptablesなどで接続元IP制限は個別にかけておきましょう。

プロキシサーバーをインストール

CloudGarageで作ったインスタンスを選択し、コンソールを開く。
rootでログインし、以下を実行

yum -y install squid

以下のような感じになればOK
スクリーンショット 2017-12-18 0.04.49.png

プロキシサーバーの設定を行う

以下の内容くらいを設定しておけばよいかと。

vi /etc/squid/squid.conf

#コメントアウト
#http_access deny all

#ポートは適当に決めます。※スマートフォンの設定時に利用します。
http_port 60080

#ホストネームは任意のものを指定します。
visible_hostname [任意のホスト名]

#接続元IPをxxx.xxx.xxx.xxxに入れる
acl myacl src xxx.xxx.xxx.xxx/255.255.255.255
http_access allow myacl
http_access deny all

#ローカルIPアドレスを隠蔽化
forwarded_for off

#プロキシアクセスを隠蔽化
header_access X-Forwarded-For deny all
header_access Via deny all
header_access Cache-Control deny all

アクセスさせたいFQDNとIPアドレスの紐付け

プロキシサーバーのhostsファイルを編集する。

vi /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
# XXX.XXX.XXX.XXXにリニューアル後のサーバーIPを設定
# www.******.jpには対象となるFQDN(URL)を設定
XXX.XXX.XXX.XXX www.******.jp

プロキシサーバーを起動

service squid start

これでプロキシサーバーは完成です。

実際に設定してみる。

例えばiPhoneの場合、以下のようにプロキシ設定をします。
[設定]→[Wi-Fi]の設定を開きます。
以下の図のように、接続済みのWi−Fiのインフォメーションを選択
IMG_8234.PNG

画面を少しスクロールすると「HTTPプロキシ」の設定がでてくるので、
IMG_8235.PNG
手動
サーバー:CloudGarageのインスタンスIPアドレス
ポート:プロキシサーバー設定で決めたポート番号
を選択します。

動作確認

接続元IPアドレスをチェックできるサイトが幾つかあるので、そちらにアクセスし、その接続元IPアドレスが、プロキシサーバーとなっていることを確認します。

まとめ

CloudGarageは、1契約、複数インスタンス(最低3インスタンス〜)・定額となっています。一番安いプランでも、1,480円/月でインスタンス3つあります。こちら、常時サービスとして稼働させているインスタンス以外に、テスト用・検証用として、1インスタンスくらい確保することもできると思います。ちょっとしたことで、サーバー調達したいなと思ったとき、煩わしい申し込み・契約、利用料などなく、気軽にサーバーを作ったり潰したりできるので、ありがたいですね。


明日はtaman777さんです!よろしくお願いします。