❓ Information
- 읽어보고 이해했다가 까먹는 기본 개념
❗ Relevant data
📦 Information Resources
🔰 Content ->
127.0.0.1 혹은 localhost는 자기 자신을 가리키는 주소이기 때문에, 다른 컴퓨터에서는 접근할 수 없습니다. 하지만 이와 달리 0.0.0.0으로 서버를 실행하는 경우 외부에서 접속하는 것이 가능합니다. 이 때 서버를 실행할 때는 0.0.0.0 주소를 사용하지만, 외부에서 접속할 때는 로컬 네트워크나 공인 IP 주소로 접근합니다.
서버를 127.0.0.1로 노출시킬지, 0.0.0.0으로 노출 시킬지는 주로 서버 설정에서 결정할 수 있습니다. 여기서는 아래와 같이 2개의 nginx 서버를 실행해보겠습니다. 8081 포트는 127.0.0.1로 노출했고, 8082 포트는 0.0.0.0으로 노출했습니다.
$ docker run -d -p 127.0.0.1:8081:80 nginx:latest
def0acff629ccb8ce717a162da85df43a1358d19b31fff404b22813978252d97
$ docker run -d -p 0.0.0.0:8082:80 nginx:latest
fd35a383bac3ecdcaf40c63c03a22005c530187fc199cd1f5c26090afcae85e1
이 때 서버의 로컬 네트워크 주소가 192.168.0.3이라고 해보겠습니다. 이 주소로 각 포트에 접근해보겠습니다.

8081 서버는 접근할 수 없지만, 8082 서버는 접근이 가능합니다
8081은 접근할 수 없지만, 8082 포트는 접근이 가능합니다. 또한 방화벽 등으로 차단되어있지 않다면, 같은 네트워크 다른 컴퓨터에서도 이 주소로 접근하는 것이 가능합니다. 안전한 웹 개발을 위해서는 127.0.0.1과 0.0.0.0의 차이를 이해하고, 적절하게 사용해야합니다.