
나는 작은 개인 웹사이트를 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로 올바르게 전달하고 있음을 이해합니다. 또한 클라이언트 측(내 전화/전화 제공업체)에서는 문제가 되지 않습니다.
유용한 구성
- 도커 작성 구성:
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 -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에는 아직도 닫혀 있는 상태로 표시되어 있습니다. 그들이 그것을 어떻게 확인하고 있는지 잘 모르겠습니다