1 views

実現する機能

CentOS7にProxyサーバーを立て、旧WebサーバーPC(ufuso.dip.jp 192.168.24.241)と新WebサーバーPC(topi.0t0.jp 192.168.24.240)の両方を別々のドメインで公開しましたが、au光のルーターにはドメイン名と内部IPを関連させる機能がないので、インターネットから両方のWebサーバーにアクセスするとtopi.0t0.jpでアクセスしても80番ポート(=http)をマッピングしているufuso.dip.jpのサイトが表示されます。この症状を解消するためにProxyサーバーを構築し、ドメイン名(=URL)でtopi.0t0.jpにもアクセスできるようにしました。
以下はProxyサーバー構築までの備忘録です。

事前準備

ieServer.Net(無料)Dynamic DO!.jp(無料)お名前.com(有料)などからドメインを取得済であること
CentOS 7.0 でWebサーバー構築・公開(Apache)CentOS 7.0 で複数ドメイン管理の内部DNSサーバー構築(BIND)を構築済であること

Squid導入手順

1.Squidインストール

[root@ufuso ~]# yum -y install squid ← ProxyサーバーSquidのインストール
インストール:
  squid.x86_64 7:3.3.8-12.el7_0                                                 

依存性関連をインストールしました:
  libecap.x86_64 0:0.2.0-8.el7          libtool-ltdl.x86_64 0:2.4.2-20.el7     
  perl-Digest.noarch 0:1.17-245.el7     perl-Digest-MD5.x86_64 0:2.52-3.el7    

完了しました!

2 Squid設定(リバースプロキシの設定)

[root@ufuso ~]# vi /etc/squid/squid.conf ← Squid設定ファイル編集
# Example rule allowing access from your local networks.
# Adapt to list your (internal) IP networks from where browsing
# should be allowed
acl localnet src 10.0.0.0/8     # RFC1918 possible internal network
acl localnet src 172.16.0.0/12  # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
acl localnet src fc00::/7       # RFC 4193 local private network range
acl localnet src fe80::/10      # RFC 4291 link-local (directly plugged) machines

acl SSL_ports port 443
acl Safe_ports port 80          # http
acl Safe_ports port 21          # ftp
acl Safe_ports port 443         # https
acl Safe_ports port 70          # gopher
acl Safe_ports port 210         # wais
acl Safe_ports port 1025-65535  # unregistered ports
acl Safe_ports port 280         # http-mgmt
acl Safe_ports port 488         # gss-http
acl Safe_ports port 591         # filemaker
acl Safe_ports port 777         # multiling http
acl CONNECT method CONNECT
acl lan src 192.168.24.0/24 ← 追記。Proxyの利用を自宅内ネット内のPCに制限
(192.168.24.0/24は自宅ネットのIPに変更のこと)
...
...
# Example rule allowing access from your local networks.
# Adapt localnet in the ACL section to list your (internal) IP networks
# from where browsing should be allowed
http_access allow localnet
http_access allow localhost
http_access allow all ← 追記。インターネットからのアクセスを許可
...
# Squid normally listens to port 3128
http_port 8181 accel defaultsite=topi.0t0.jp ← 追記。portを8181に、
アクセスサイトのURLをtopi.0t0.jpに設定(設定はお宅のものに変更のこと)
# Uncomment and adjust the following to add a disk cache directory.
cache_dir ufs /var/spool/squid 100 16 256 ← 行頭の#を削除。2000がディ
スクキャッシュ容量(MB)、16が一次ディレクトリ数、256が二次ディレクトリ数
...

visible_hostname ufuso.dip.jp ← 追記。プロキシサーバーのホスト名を入力のこと
forwarded_for off ← 追記。プロキシサーバーの接続元IPアドレスを非表示
cache_peer topi.0t0.jp parent 80 0 no-query originserver ← 追記。上
位プロキシーのホスト名を設定


[root@ufuso ~]# systemctl start squid ← Squidの起動

[root@ufuso ~]# systemctl enable squid ← Squidの自動起動設定
ln -s '/usr/lib/systemd/system/squid.service' '/etc/systemd/system/multi-user.target.wants/squid.service'

3 サイトの確認(iPhone5Sで確認)

(1)旧サーバーのURL、ufuso.dip.jpでアクセスすると下のCentOS7の画面が出る
IMG_1038
(2)新サーバーのURL、topi.0t0.jpでアクセスしても同じ画面が出る
IMG_1035
(3)ポート8181を指定して、再度topi-.0t0.jp:8181にアクセスすると、IMG_1036
(4)新サーバーUbuntu14.04のWebサイト初期画面が表示される。一件落着
IMG_1037

以上

2 Replies to “Proxyサーバーで1本のグローバルIP下の2台の各PCに構築したWebサーバーを別々のドメインで同時公開(Squid)”

    1. たま様
      返事が遅くなりました。
      現在proxyサーバーを使っていないため検証ができません。
      お役に立てずすみません。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください