Harada's Diary

プロキシを使った遠回りアクセスの方法

WordPress には 「サイトURL」設定があり、デフォルトでは以下のように localhost になっています。

http://localhost/wordpress/

外部公開する場合は localhostドメイン名 へ変更しますが、変更後に問題が発生します。


❗ 発生した問題

ドメイン名に変更後:

自宅 LAN から WordPress にアクセスできなくなった

サーバを外部に置く前提が多く、同一 LAN からアクセスする想定が薄いため発生。

記事編集ができなくなり不便な状態。


🤔 解決案について

本来であれば…

  • 内部 DNS を立てる
  • hosts 設定を分岐させる
  • Apache/Nginx の VirtualHost 側で調整

などの方法も考えられるが、今回は 手っ取り早い方法として:

外部 VPS をプロキシとして経由させる


🗺 構成図

外部 VPS を Proxy として利用:

自宅PC → VPS(squid) → Webサーバ(WordPress)

めちゃ遠回りではあるが、学習目的も兼ねて導入。


🛠 環境構築

■ VPS環境

  • OS:CentOS 6.8
  • Proxy:squid

1. squid インストール

yum install squid

2. squid 設定編集

設定ファイル:

vi /etc/squid/squid.conf

設定追記:

# ホスト名(任意) visible_hostname hdserver.mydns.jp # 公開ポート(例:10088 を使用) http_port 10088 # アクセス元のIP(自宅のIPを指定) acl myacl src xxx.xxx.xxx.xxx/255.255.255.255 http_access allow myacl http_access deny all # プロキシ経由の元IPを隠す forwarded_for off # プロキシ利用を先方に知らせない request_header_access X-Forwarded-For deny all request_header_access Via deny all request_header_access Cache-Control deny all

デフォルト設定はコメントアウト

#http_access deny all #http_port 3128

3. squid 起動

squid -z service squid start

4. ファイアウォール設定

プロキシポート(10080等)を開ける:

vi /etc/sysconfig/iptables -A INPUT -m tcp -p tcp --dport 10080 -j ACCEPT

適用:

/etc/rc.d/init.d/iptables reload

✔ Proxy サーバ構築完了


5. 動作確認

以下のサイトで IP を確認:

👉 http://www.ugtop.com/spill.shtml (確認くん)

VPS のIPで表示されれば成功。


✍ まとめ

  • プロキシで経由させれば内部からも WordPress にアクセス可能
  • プロキシは遊べるが更新が面倒なので改善検討中