
私は、小さな個人ウェブサイトを、VirtualBox VM から、自分のパソコンでホストされている Docker コンテナに移行しているところです。しかし、インターネットからそのコンテナにアクセスしようとすると (Wi-Fi のない携帯電話で試しています)、「接続がタイムアウトしました」という問題が発生します。同じネットワーク上の他のコンピュータからは動作します。
これまで私が行ったテストは次のとおりです。
ローカルネットワーク
http://localhostとhttp://192.168.1.10ネットワーク上の他のコンピュータから
このテストから、私のコンピューターと Docker 構成は正常に動作しており、そのコンピューターの外部からサーバーにアクセスできることがわかりました。
インターネットから
私のインターネット ゲートウェイでは、ポート転送が設定されています。192.168.1.15 にリダイレクトすると、VM サーバーに正しくアクセスできます。
192.168.1.10にリダイレクトするとゲートウェイタイムアウトが発生し、ポートチェックツールはポート80が閉じていると表示します
このテストから、ISP が邪魔をしておらず、ゲートウェイがデータを適切な IP に適切に転送していることがわかりました。また、クライアント側 (私の電話/電話プロバイダー) にも問題はありません。
便利な設定
- docker-compose 設定:
version: "3.7"
services:
proxy:
image: nginx:stable
ports:
- "80:80"
volumes:
- ./proxy/conf.d:/etc/nginx/conf.d
- ./proxy/conf.d/site.conf
server {
listen 80;
server_name example.com; # not actual DNS, but it doesn’t seem to be in cause.
location / {
deny all;
}
}
はい、問題なく動作する実際には、今は403禁止エラーが発生しています
- ゲートウェイのポート転送 (UI 内) ポート 80 からポート 80 ホスト 192.168.10 へ
- Virtualbox VM ネットワークはブリッジとして構成されており、IP は 192.168.1.15 です。
- 書き込まれたすべての内部IPは静的です
他に必要な情報があればお知らせください
除外
その問題が解決されるまで、SSL および DNS 変数を意図的に除外し、後で構成します。
私は主に、他に何を点検すべきかというアイデアを検討しています。なぜなら、すべてのピースは個別にはうまく機能しているように見えますが、明らかに何かが欠けているからです。
編集: リモート コンピューターからの curl コマンドのクローズ ポート/タイムアウトの問題の出力をもう少し調べてみました。
$ curl -v --output - 142.#.#.#
* Trying 142.#.#.#:80...
* Connected to 142.#.#.# (142.#.#.#) port 80 (#0)
> GET / HTTP/1.1
> Host: 142.#.#.#
> User-Agent: curl/7.83.1
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 502 Connection timed out
< Date: Wed, 01 Jun 2022 16:34:06 GMT
< Connection: close
< Cache-Control: no-store
< Content-Type: text/html
< Content-Language: en
< Content-Length: 219
<
<HEAD><TITLE>Connection timed out</TITLE></HEAD>
<BODY BGCOLOR="white" FGCOLOR="black">
<FONT FACE="Helvetica,Arial"><B>
Connection timed out</B></FONT>
<!-- default "Connection timed out" response (502) -->
</BODY>
* Closing connection 0
ポートチェックの出力
$ nmap 142.#.#.# -p 81
...
Host is up (0.077s latency).
PORT STATE SERVICE
80/tcp open http
$ nc -zvw10 142.#.#.# 80
...
[142.#.#.#] 80 (http) open
しかし、最初に使用したping.euでは、まだ閉鎖中と表示されています。どのように確認しているのかわかりません