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 squid2. 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 31283. squid 起動
squid -z service squid start4. ファイアウォール設定
プロキシポート(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 にアクセス可能
- プロキシは遊べるが更新が面倒なので改善検討中