SW/ 개발팁 / 추천프로그램, 꿀팁 공유
  • 돌아가기
  • 아래로
  • 위로
  • 목록
  • 댓글
정보

NPM사용시 실제IP를 못받아오는 현상 해결방법입니다.

keiminem keiminem 574

1

12

NPM을 통해서 웹을 열게되면 접속IP가 NPM하나만 집계되는 문제가 있어서 글을 남겼었는데

 

이와 같은 댓글이 달렸습니다

 

 

image.png.jpg

 

헉? 진짜? 하고 바로 적용해보았는데..

image.png.jpg

 

 

놀랍게도 결과는 어마어마했습니다.

 

image.png.jpg

 

적용하자마자 실제아이피를 받아오기 시작하면서 방문집계가 카운트되기 시작했습니다.

 

이렇게 간단한 문제였다니... 

 

인내심 인내심 233411 님의 답변 정말 감사합니다.

 

전 이거때문에 서버 갈아엎었는데;;;하하하핳;;

 

조금은 허탈해지는 해결법이었네요

 

저는 NPM과 웹을 물리적으로 서버분리가 되어있는 상태였는데도 잘 적용되네요

 

도커로 돌리시는 분들은 도커아이피만 확인하시고 적용하시면 해결하실 수 있을 것 같습니다.

신고공유스크랩
12
profile image 1등
달소 2023.04.17. 21:57
헉 이런질문이 올라왔었군요,,, 요즘 정신이 없어서 원ㅠ
저도 경험했던건데 해결되셔서다행입니다!
2등
인내심 2023.04.18. 13:27

저 댓글 쓰기 몇일전에 저도 이 증상을 알았거든요.. ㅎㅎ
문제점이 저와 비슷하신거 같아서 남겼던건데 해결되셔서 다행입니다.

nginx에서 로그에는 정상적으로 client IP를 불러오고
이후에 거처가는 시놀로지에서는 로그센터에 모두 npm의 IP를 달고있길래 시놀로지에도 nginx처럼 신뢰할수있는 설정을 넣는게 있는건지 찾다가 저 메뉴에 등록하니까 바로 되더라구요.

 
3등
마이크로서버 2023.04.20. 06:18
오오 안되는줄 알고 있었는데... (도커는 그나마 127.0.0.1로 하면 되긴 하고요.) 이런 방법이 있었군요...ㄷㄷㄷ 좋은 정보 감사합니다.
honey720 2024.02.03. 00:58
마이크로서버
npm 주소를 등록해도 npm 게이트웨이가 잡혀서 의아한 와중에 해당 댓글 읽고 해결했습니다. 감사합니다.
profile image
jerry80 2023.06.08. 18:40
제 질문에 이글을 링크주셨기에 여기에 직접 한번 문의 드립니다.

말씀하신대로 신뢰핤수있는 프록시에 127.0.0.1, 192.168.1.xxx (시놀 로컬 주소) 추가하고
dsm 에 npm 통해 접속해보면 접속주소가 도커네트웍주소(?)인 172.17.0.9 로 찍힙니다.

제가 뭔가 잘못한게 있을까요 ?

그리고, 한가지 더 위 글의 방문통계는 어떻게 보나요 ? 검색해도 안나와서... ㅠㅠ
profile image
keiminem 글쓴이 2023.06.08. 19:07
jerry80
아닙니다 도커의 게이트웨이
주소를 넣어보시면 확인 가능할 것 같습니다

방문통계는 웹사이트를 개설해 뒀기때문에 접속 ip확인모듈이 들어가있어서 가능한 것입니다
profile image
jerry80 2023.06.08. 19:15
keiminem
게이트웨이주소란 172.17.0.1 인가요? 이걸로해도 안되더라구요. 이렇게하면 npm 의 도커주소인 172.17.0.9 가 찍히네요.ㅠㅠ
profile image
keiminem 글쓴이 2023.06.08. 19:29
jerry80
도커주소를 넣으시면 해결 될 것 같은데 한번 시도해보시겠어요
profile image
jerry80 2023.06.08. 20:47
네트웍 상태부터 말씀드리죠.

시놀의 로컬 주소는 192.168.1.111

컨테이너매니저로 npm 컨테이너 실행중이 상태에서 확인해보면
게이트웨이 172.17.0.1
IP 주소 172.17.0.9

이고, npm 엔트리는

dsm.domain.duckdns.org 가 https 프로토콜로 https://192.168.1.111:5001 로 가도록 되어있습니다.

이상태에서 신뢰할 수 있는 프록시에 172.17.0.1 을 넣고 외부에서 dsm.domain.duckdns.org 로 접속하면
DSM 로그 기록에 User [user_id] from [172.17.0.9] signed in to [DSM] successfully via [password]

라고 나오고, 반대로

신뢰할 수 있는 프록시에 172.17.0.9 을 넣고 외부에서 dsm.domain.duckdns.org 로 접속하면
DSM 로그 기록에 User [user_id] from [172.17.0.1] signed in to [DSM] successfully via [password]

이렇게 나옵니다. 두번째 설정은 말이 안되는것 같고, 위의 설정이 맞는것 같은데 게이트웨이를 통해서 npm의 내부 도커 주소가
패스되고 실제 npm 으로 접속한 외부 리얼 iP는 나오지 않는 것 같습니다.

keiminem 님의 경우는 npm 과 웹서버가 분리된 상태라고 하셨는데, 이경우는 잘 되지만 도커의 경우는 잘 안되는것 같은데...

혹시 제가 뭘 잘못하고 있는지 눈에 띄시는지요 ?
profile image
jerry80 2023.06.08. 21:02
제가 사무실에 npm 과 다른 물리호스트로 있는 헤놀에서 테스트해보니 이경우는 잘 되는 군요.

신뢰할수있는 프록시를 세팅하기 전에는 192.168.1.1 에서 접속한 것으로 나오고
신뢰할수있는 프록시를 npm 이 설치된 컴의 로컬 주소 192.168.1.xxx 로 넣고 다시 테스트 하면 접속호스트의 real ip 로 보여주네요.

아~~ 어렵습니다. ㅠㅠ
profile image
keiminem 글쓴이 2023.06.08. 22:20
jerry80

아이고 제가 오늘 회식이라 조금 늦은 답변 죄송합니다.
같은 네트워크망에서 접속을 확인하면 내부망 IP가 나오는게 의외로 정상입닏 허허헣...

저역시 내부망에서 서버에 접속하면 내부망 IP가 표시됩니다.

profile image
keiminem 글쓴이 2023.06.08. 22:31
jerry80

image.png.jpg

 

이렇게 내부망에서 접속하면 192.ㅇ.1.1로 표시되는걸 보실 수 있습니다.

댓글 쓰기 권한이 없습니다. 로그인

취소 댓글 등록

cmt alert

신고

"님의 댓글"

이 댓글을 신고하시겠습니까?

댓글 삭제

"님의 댓글"

삭제하시겠습니까?


목록

공유

facebooktwitterpinterestbandkakao story