안녕하세요.. 티원 입니다.
- SCT STATUS - Ranking and DAU and others - 2nd July~10th July 2019
https://www.steemcoinpan.com/sct/@sct.biz/sct-status-ranking-and-dau-and-others-2nd-july-10th-july-2019
의 내용 중, 도움을 구하시는 내용이 있어 도움이 될까해서, 포스팅으로 남겨 봅니다.
(포스팅원문 중)
유저수 감소는 스팀노드의 접근방법의 문제로 포스팅의 어려움도 하나의 이유가 될 것으로 추정합니다.(참고로 중국유저로부터 다음과 같은 요청이 있었습니다.
We think that unstableness to access to the steem node is the one of the reason to decrease users(as a reference, I received a reply from China as below)
“There is an issue which I have reported to jack a while back. The main node(api.steemit.com) steemcoinpan uses is banned in mainland China. So many users from China are not able to access steemcoinpan.com. It will be nice if the SCT dev team can change the main node based on the location. The steemd.minnowsupportproject.org node is working fine with Chinese users.”
결론 부터 말씀드려 보면,
가장 간단하지만, 가장 확실한 방법은 우회경로를 제공하는 방법입니다.
- 우회경로를 제공하기 위한 방법
(1) 프록시(proxy) 서버를 제공하는 방법..
쉽게 생각해서 GW (Gateway)를 제공하는 것으로 출발지가 되는 중국유저(End User)가 목적지인 main node(api.steemit.com) 또는 steemcoinpan web server 에 접속하는 과정에 거쳐 갈 수 있는 통로를 제공하는 것입니다.
이는 중국내 ip를 사용하거나, 그 프록시 서버가 중국에 위치할 필요는 없습니다.
(확인사항)
정상접속이 가능하다는 steemd.minnowsupportproject.org node 역시 중국내 서버를 위치하고 있지는 않음..
참고로, 중국대륙내 인터넷망 구조상 국외로 나가는 트래픽은 중국내부규제에 따라 접속가능/불가능 페이지를 ip 또는 domain name 단위로 필터를 하고 있으며, 이 때문에, api.steemit.com 도메인 역시 필터 되는 대상으로 추정해 볼 수 있습니다.
api.steemit.com 아마존웹서비스(AWS) 을 사용하지 싶네요..
(AWS ec2 :가상웹서버 를 사용하는지 아닌지 단정 할 수는 없지만, api.steemit.com 도메인에 매핑되어 있는dualstack.awseb-awseb-6ln5hm1c8ate-440776466.us-east-1.elb.amazonaws.com를 보면 elb 서비스 (aws의 L4 기능)을 사용하여 api.steemit.com으로 접속되는 사용자 접속을, aws 동부 리즌(us-east-1.)내 가상서버로 포워딩 하는 것으로 추정됩니다.)
따라서, ip, port, domain 정도를 포워딩 할 수 있는 단순한 기능의 프록시 서버를 구성하고, 사용자 웹브라우저의 설정 (IE의 경우 인터넷 옵션)을 통해 해당 프록시 서버정보 ip, port를 입력하고 사용..
프록시서버는 기본 http 포워딩만 해도 가능은 하나, (중국대륙내 필터가 http head 등 평문 스트림을 모두 들여다본다(?)고 하면, https 프록시로 구현하는 것이 추후 접속차단 되는 것을 예방 할 수 있습니다. )
http(s) 등 포워딩 서버(프록시)는 오픈소스형태의 apache-tomcat을 사용하여 어렵지 않게 구현이 가능합니다. 이 때,
scr.port (사용자 pc에서 접속하는)를 80이나 443이 아닌 다른포트를 사용하여 포트포워딩을 함께 설정하는 것을 권장합니다.
사용자 측면에서도 브라우저에서의 설정이 가장 손쉬운 방법이기는 하나, 만약 귀찮다면~ ^^; 프리웨어의 proxy client 프로그램들을 사용할 수도 있습니다.
다른 방법으로는,
(2) 사용자의 변경없이 가능하게 Gateway 서버(웹)을 제공하는 방법..
(1)은 사용자가 경유한 곳을 지정하여 우회하는 방법 (강제로 라우팅을 돌려서 돌아가는 방법)이라면, (2)는 사용자는 아무런 조치나 변경사항 없이,, 임의의 도메인 (예: steemcoinpan2.com)에 접속하면,, 이 서버에서 사용자 트래픽을 최종목적지인 steemcoinpan.com (api.steemit.com)로 포워딩 해주는 방법 입니다.
참고로, 단순 도메인만 리졸브(포워딩)라는 dns 서버의 cname 를 사용하면, 라우팅 경로는 다시 사용자 <-> api.steem 으로 연결되니, 동일하게 차단되는 증상이 나타나게 됩니다.
결론,
(1),(2)나 라우팅 우회경로는 제공하는 구조적인 방법에서는 같다고 보셔도 무방합니다.
즉, 서버를 제공한다는 것에서는 동일하나, (1)의 경우 트래픽의 by-pass 로 사용자 트래픽이 많아도 서버 부하(자원사용률)이 낮으나, (2)의 경우 사용자 트래픽을 모두 처리(processing) 해야 함으로, 사용자(동시접속)가 많아 질 수록 서버 자원을 많이 필요로 하며, 부족하게 되는 경우 느려지는 현상이 발생합니다.
참고로 현재수준의 스판 트래픽 수준인 경우, (1)~(2) 어느 경우든 왠만한 데스크탑 수준의 스펙만 되도,(2 core, 4G Ram, linux) 정도, 충분히 가능하지 싶네요..
(3) 사용자가 직접 무료프록시를 이용하는 방법..
중국내 15억인구중, 인터넷 사용인구가 7억이라는데,, 과연 다,, 허가된 홈페이지만 접속을 할까요?? ^^; Google 에서 쉽게 검색 할 수 있는.. 수많은 무료 프록시 서버들이 있습니다.. (free proxy 로 검색).. 무료인만큼 속도가 복불복이고,, 죽었다 살았다를 반복하기도 합니다.. 물론 유료를 사용할 수도 있습니다..
(1)과 동일하게 사용자는 사용하는 브라우저의 프록시 설정을 통해 해당 서버의 ip, port 를 등록하고 사용할 수 있습니다~
모쪼록 도움이 되시면 좋겠습니다..
감사합니다.
좋은정보 감사드립니다.
별말씀을요.. 조금이나마 도움이 되셨길 바래 봅니다..^^;