[Synology] 시놀로지 도커 nginx proxy manager에서 IP 전달 제대로 시키기
![[Synology] 시놀로지 도커 nginx proxy manager에서 IP 전달 제대로 시키기](/content/images/size/w2000/wordpress/2022/11/image-1-1.png)
사무실에서 굴리는 그누보드 사이트 몇개를 시놀로지 기본 웹스테이션을 사용하다가, 데이터 통백업의 편리함 등 유지보수의 편의, 최신 버전의 사용 등의 이유로 도커로 이전을 시켰습니다.
몇가지 문제가 있었지만, 대부분 수정을 했는데, 마지막, IP 전달이 제대로 되지 않는 문제가 생겼습니다.
동일한 docker-compose를 사용했을 때 다른곳에선 제대로 됐는데… 시놀로지에서만 안되니 환장할 노릇이었습니다.
도커 IP 전달, 진짜 IP 등 관련 키워드로 검색을 아무리 해도 안나왔어요.
결과적으론, 도커의 문제가 아니고 시놀로지 문제였습니다 -_-
https://www.uname.in/19
이 방법도..
https://blog.dalso.org/home-server/2239
이 방법도..
이 방법까지도..
그래도 왠지 서버포럼쪽에는 해결법이 있을 것 같아 실마리라도 잡아보려고 글을 올렸는데, 역시 있을 줄 알았습니다.

https://svrforum.com/nas/366302
네, 이 방법으로 해결했습니다.
작업 스케줄러에 bootup 트리거, root 권한으로 아래 스크립트를 넣어주면 됩니다.
#!/bin/bash currentAttempt=0 totalAttempts=10 delay=15 while [ $currentAttempt -lt $totalAttempts ] do currentAttempt=$(( $currentAttempt + 1 )) echo "Attempt $currentAttempt of $totalAttempts..." result=$(iptables-save) if [[ $result =~ "-A DOCKER -i docker0 -j RETURN" ]]; then echo "Docker rules found! Modifying..." iptables -t nat -A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER iptables -t nat -A PREROUTING -m addrtype --dst-type LOCAL ! --dst 127.0.0.0/8 -j DOCKER echo "Done!" break fi echo "Docker rules not found! Sleeping for $delay seconds..." sleep $delay done
처음 적용할 땐 실행버튼으로 한번 돌려주세요.
와 정말 이거 하나때문에 3일을 끙끙 앓고 있었습니다.