mongodb.conf bind_ip = 127.0.0.1은 작동하지 않지만 0.0.0은 작동합니다.
나는 무엇을 이해할 수 없었습니다.bind_ip몽고디스로다음을 통해 데스크톱에서 EC2 시스템으로 원격 연결할 수 있었습니다.bind_ip = 0.0.0.0하지만 그것을 작동시킬 수 없었습니다.bind_ip = 127.0.0.1.
bind_ip가 무엇이고 왜 그것이 작동하는지 설명해주세요.0.0.0.0때문이 아닌127.0.0.1.
mongodb 문서에서 참조:
bind_ip기본값: 모든 인터페이스.
이 주소의 응용 프로그램에서 연결을 바인딩하고 수신할 mongod 또는 mongos 프로세스를 구성하려면 이 옵션을 설정합니다.mongod 또는 mongos 인스턴스를 모든 인터페이스에 연결할 수 있지만, 프로세스를 공개적으로 액세스할 수 있는 인터페이스에 연결하는 경우 데이터베이스의 무결성을 보호하기 위해 적절한 인증 또는 방화벽 제한을 구현하십시오.
mongod를 여러 IP 주소로 바인딩하기 위해 쉼표로 구분된 값 목록을 연결할 수 있습니다.
어디든 이렇게 묶어야 한다고 쓰여 있습니다.
bindIp : 127.0.0.1,192.168.0.50
하지만 효과가 없습니다.
작동 방식, 버전 3.2.0에서는
bindIp : [127.0.0.1,192.168.0.50]
그래서 [ ] 안에 당신의 ips를 추가해보세요.
예:
# network interfaces
net:
port: 27017
bindIp : [127.0.0.1,0.0.0.0] (read what is written below in BOLD!)
그러나 0.0.0.0은 해당 항목을 엽니다.테스트에는 문제가 없지만 프로덕션에서는 이 설정의 보안 영향을 알아야 합니다!
서버를 0.0.0.0으로 바인딩하기 전에 다음과 같은 변경 사항의 보안 영향을 확인하십시오.서버가 전체 인터넷의 모든 IP에 공개적으로 노출됩니다.서버에서 인증을 사용하도록 설정해야 합니다!
시스템을 에 바인딩할 때 액세스할 수 없습니다.127.0.0.1EC2에서.이는 버그가 아닙니다. 네트워크 인터페이스 바인딩으로 인해 발생합니다.
127.0.0.1루프백 인터페이스에만 바인딩되므로 로컬에서만 액세스할 수 있습니다.0.0.0.0사용 가능한 모든 네트워크 인터페이스에 바인딩됩니다.
그것이 당신이 그것을 EC2에 묶을 때 그것에 접근할 수 있는 이유입니다.0.0.0.0(현재 인터넷을 통해 이용 가능하기 때문에) 그리고 경유하지 않습니다.127.0.0.1.
로컬 서버(WAMP 또는 로컬 mongodb 서버와 같은)의 경우와 다르게 보이지 않지만, 이러한 경우에는 바인딩도 해야 합니다.0.0.0.0로컬 서버의 경우 모든 네트워크 인터페이스를 통해 사용할 수 있습니다(따라서 방화벽이 없는 경우 사용자의 IP를 알고 있는 사용자가 공용으로 사용할 수 있습니다!)
서버 장애에 대한 비슷한 질문에 대해서는 여기를 참조하십시오.
이 답을 찾는 사람이라면 몽고DB를 0.0.0.0으로 바인딩하는 것이 최악의 조치가 될 수 있다는 것을 분명히 해야 합니다.
다음 기사를 읽고 모든 데이터를 공개하기로 결정할 때마다 다음 사항을 고려해야 합니다.
- 을 할 수 있는지 사용자를 할 수 있는 ?
. - Amazon EC2를 사용할 때 '내부' 트래픽을 허용하는 경우 이 트래픽을 활짝 여는 것과 동일하게 간주해야 하며, Amazon에서 혼자가 아닙니다.
- 서비스 암호가 보호되어 있습니까?그리고 어떤 종류의 인증?데이터가 명확한 텍스트로 제출되었습니까, 아니면 사용되었습니까?
암화 - 기본 데이터베이스 이름을 사용하고 있습니까, 아니면 예제를 복사하여 붙여 넣었습니까?
로컬 Mongodb 설치(개발 환경)로의 링크를 위해, 나는 3단계 프로세스를 따르는 것이 훨씬 쉽다는 것을 알게 되었고 작동했습니다.
도커 런 -d -p 27017-27019:27017-27019 --이름 mongodb mongo.
도커 exec -it mongodbash
mongo (voilla - 당신은 Mongo dab에 연결되어 있습니다.)
출처: https://www.thepolyglotdeveloper.com/2019/01/getting-started-mongodb-docker-container-deployment/
설정이 다음과 같은 경우bindIp: 127.0.0.1(또는)bindIp: localhost그 다음 ) 그때mongod합니다. 즉, " " " IP " " 가 수 있습니다. " , " 는 " " 로부터 시작됩니다.mongod실행 중입니다.
설정이 다음과 같은 경우bindIp: 0.0.0.0(또는)bindIpAll: true그 다음 ) 그때mongod는 모든 IP를 수신합니다. 즉, 방화벽에 의해 연결이 차단되지 않는 한 원격 컴퓨터에서 연결할 수 있습니다.
메모,localhost 주소 IPv4로 될 수 입니다.127.0.0.1 주소 "IPv6"로 합니다.::1Nodejs 드라이버를 사용하여 MongoDB 6.0 서버에 로컬로 연결할 수 없음을 참조하십시오.
언급URL : https://stackoverflow.com/questions/17588876/mongodb-conf-bind-ip-127-0-0-1-does-not-work-but-0-0-0-0-works
'programing' 카테고리의 다른 글
| .yml 파일에서 속성 자리 표시자를 사용하는 방법 (0) | 2023.07.10 |
|---|---|
| 이미 체크인된 디렉토리의 내용을 무시하시겠습니까? (0) | 2023.07.10 |
| SQL Server 오류 1222 해결 방법 즉, SQL Server 테이블 잠금 해제 (0) | 2023.07.10 |
| SQL Server에서 현재 모든 임시 테이블의 목록을 가져올 수 있는 방법이 있습니까? (0) | 2023.07.10 |
| 내 ASP.NET 웹 사이트를 wwwroot 폴더에 넣어야 합니까? (0) | 2023.07.10 |