0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Dockerで構築したローカルのWebサーバー上で自分のIPアドレスがわからなかった話

Posted at

困った出来事

Webサイト改修案件のリリース時に、移行中は特定のIPアクセス以外はメンテナンスページにリダイレクトするようにした。

.htaccess
<IfModule mod_rewrite.c>

  ErrorDocument 503 /maintenance.html
  RewriteEngine on
  RewriteCond %{REQUEST_URI} !^/maintenance.html$
  RewriteCond %{REMOTE_ADDR} !=10.1.1.101 #自分のIPアドレス
  RewriteRule ^.*$ - [R=503,L]
</IfModule>

一応うまくIPアドレスの制御ができてるか確認するために、Docker上の開発環境で試してみたところ、
自分自身もメンテナンスページにリダイレクトしてしまうんだが…?
となり詰まった上解決方法が調べても出てこなかったので、ここに記しておく。

解決法

結論を先に書くと、DockerではクローバルIPアドレスではなく、GateWayのIPアドレスを指定する必要があるらしい。
私みたいに見様見真似でDockerを導入してみた人間には、「GateWayって…どこみればわかるん???」となるので、以下にその確認方法も載せておく。
何も指定しなければ172.19.0.1になるっぽい。

調べ方

対象コンテナのネットワーク名を調べる

.cmd
$ docker network ls
NETWORK ID     NAME                       DRIVER    SCOPE
4a07eb4edc93   bridge                     bridge    local
b67bed0ffcf0   sample_default             bridge    local
a74e1b333434   host                       host      local
76b4e13bf0cd   none                       null      local

とくにネットワーク名を指定していない時はコンテナ名_defaultになる模様。
今回はsample_defaultが対象のネットワークとして進める。
ちなみにネットワーク名などを変えたい時は以下の記事が参考になるかと。

ネットワークの詳細情報を確認する

.cmd
$ docker network inspect sample_default 
[
    {
        "Name": “sample_default",
        "Id": "b67bed0ffcf092524d1758bb488410cd0ae2a4f41febd72d76aed9221f686",
        "Created": "2022-01-05T05:03:06.319979838Z",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": null,
            "Config": [
                {
                    "Subnet": "172.19.0.0/16",
                    "Gateway": "172.19.0.1" ←これ
                }
            ]
        },
--------------中略--------------------------------
    }
]

この中の"Gateway":にあたる部分がそれ。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?