「このサイトって別の国からアクセスしたらどう見えるの?」ってときに、ちょろっとプロクシサーバを立てる方法
タイトル長っ!
タイトル通りなんですが、そういうときってありますよね?リージョンによって表示内容変えてるサイトとか、ロケーションによって変わる広告とかの表示を確認したいですよね?
ないですか?そうですか。。。
まぁ、そういうことがある自分みたいな人のためのメモです。
プロクシ刺せばいいだけだよね?
そうです。
でも、自分が確認したい地域で使える(ちゃんと稼働してる)プロクシサーバを探すのが意外と面倒だし、それに、どこの馬の骨とも知れないサーバを踏み台にするとセキュリティ的にもよくありません。
今どきはクラウドサービスを使えば、いろんな場所にあるデータセンターに自分のサーバを簡単に立てれます。たとえば、AWS を使えば次のリージョンから選び放題です↓
他にも、たとえば DigitalOcean を使うと、AWSでは対応できないオランダ(アムステルダム)からの動作確認ができたりします。DigitalOceanのデータセンターがある国はこちら↓
あとは好きなところでプロクシサーバを立てるだけなんですが、プロクシサーバの設定について意外と日本語の情報がなかったので、メモっておきます。
前提
- 「このサイトをいろんな国から見たい」という用途です
- あらかじめ色んな国にサーバを用意しておくとかできないので、5分で立ち上げて使い終わったら捨てるという「使い捨て」感覚です
- 結果的に、使った分しか料金も発生せず、経済的です
- 「ちょこっと動作確認してみる」という用途です
- 継続的にサービスを提供するためのものではありません
- 従って、運用(ログの保存とか、死活監視とか…)とかセキュリティとかは深く考えません
やり方
- すきなところにLinuxサーバを立てる
- SSHでログインする
- おもむろに↓のコマンドをコピペする
- ポート3128でプロクシサーバが立ち上がる
- 好きなように使う
- 以上
Amazon Linux 2用コピペ
sudo yum update -y && \
sudo yum install -y docker && \
sudo service docker start && {
cat <<CONF > squid.conf
acl Safe_ports port 80 # http
acl Safe_ports port 443 # https
acl to_localhost dst 127.0.0.0/8
http_access deny to_localhost
http_access deny !Safe_ports
http_access allow all
http_port 3128
refresh_pattern . 0 0% 0
forwarded_for delete
CONF
} && \
sudo docker run --name squid -d --restart=always \
--volume `pwd`/squid.conf:/etc/squid/squid.conf \
--publish 3128:3128 \
sameersbn/squid:3.5.27
CentOS 7.5用コピペ
- あらかじめ色んな国にサーバを用意しておくとかできないので、5分で立ち上げて使い終わったら捨てるという「使い捨て」感覚です
- 結果的に、使った分しか料金も発生せず、経済的です
- 継続的にサービスを提供するためのものではありません
- 従って、運用(ログの保存とか、死活監視とか…)とかセキュリティとかは深く考えません
- すきなところにLinuxサーバを立てる
- SSHでログインする
- おもむろに↓のコマンドをコピペする
- ポート3128でプロクシサーバが立ち上がる
- 好きなように使う
- 以上
Amazon Linux 2用コピペ
sudo yum update -y && \
sudo yum install -y docker && \
sudo service docker start && {
cat <<CONF > squid.conf
acl Safe_ports port 80 # http
acl Safe_ports port 443 # https
acl to_localhost dst 127.0.0.0/8
http_access deny to_localhost
http_access deny !Safe_ports
http_access allow all
http_port 3128
refresh_pattern . 0 0% 0
forwarded_for delete
CONF
} && \
sudo docker run --name squid -d --restart=always \
--volume `pwd`/squid.conf:/etc/squid/squid.conf \
--publish 3128:3128 \
sameersbn/squid:3.5.27
CentOS 7.5用コピペ
SELinux対策に、chcon
コマンドを一行追加します:
sudo yum update -y && \
sudo yum install -y docker && \
sudo service docker start && {
cat <<CONF > squid.conf
acl Safe_ports port 80 # http
acl Safe_ports port 443 # https
acl to_localhost dst 127.0.0.0/8
http_access deny to_localhost
http_access deny !Safe_ports
http_access allow all
http_port 3128
refresh_pattern . 0 0% 0
forwarded_for delete
CONF
} && \
chcon -Rt svirt_sandbox_file_t squid.conf && \
sudo docker run --name squid -d --restart=always \
--volume `pwd`/squid.conf:/etc/squid/squid.conf \
--publish 3128:3128 \
sameersbn/squid:3.5.27
Ubuntu用コピペ
yum
の代わりに apt
コマンドを使います:
sudo apt update && sudo apt -y upgrade && \
sudo apt -y install docker.io && \
sudo service docker start && {
cat <<CONF > squid.conf
acl Safe_ports port 80 # http
acl Safe_ports port 443 # https
acl to_localhost dst 127.0.0.0/8
http_access deny to_localhost
http_access deny !Safe_ports
http_access allow all
http_port 3128
refresh_pattern . 0 0% 0
forwarded_for delete
CONF
} && \
sudo docker run --name squid -d --restart=always \
--volume `pwd`/squid.conf:/etc/squid/squid.conf \
--publish 3128:3128 \
sameersbn/squid:3.5.27
何をしているの?
要は、Dockerをインストールして、 こちらのSquidのイメージ を最小限の設定で起動しているだけです。このコンテナイメージが信用できるのかどうかは、ご自分でご確認ください。
なお、執筆時点で最新のイメージだったバージョン3.5.27に固定してあります。
(最近、Squid 4がリリースされてバージョン3系は非推奨になったそうですが、今は気にしないことにします)
設定の内容について、簡単に説明しておきます。
acl Safe_ports port 80 # http
acl Safe_ports port 443 # https
プロクシを許可するプロトコル(ポート番号)を列挙しています。
httpとhttpsのみをプロクシすることにします。
acl to_localhost dst 127.0.0.0/8
http_access deny to_localhost
localhost、つまりこのプロクシサーバへのアクセスを拒否します。
http_access deny !Safe_ports
http_access allow all
上で列挙したプロトコル以外へのアクセスを拒否します。
それ以外へのアクセスをすべて許可します。
http_port 3128
Listenするポートに3128を指定しています。
refresh_pattern . 0 0% 0
キャッシュをしないようにしています。
(動作確認するときって、何度もリロードして変化を見たりするので、キャッシュされたくないのです)
forwarded_for delete
X-Forwarded-Forヘッダを出力しないようにします。
(X-Forwarded-ForのIPにもとづいてコンテンツが変えられると困るため)
最小限なので、あとは好きなようにカスタマイズして使ってください。
Author And Source
この問題について(「このサイトって別の国からアクセスしたらどう見えるの?」ってときに、ちょろっとプロクシサーバを立てる方法), 我々は、より多くの情報をここで見つけました https://qiita.com/Maki-Daisuke/items/5003a39bd278c4945ca8著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .