포트 포워딩 경로를 따르는 방법

포트 포워딩 경로를 따르는 방법

여기에 근본적인 오해가 있다고 장담하는데, nginx와 같은 것을 사용하지 않고 포트 포워딩, URL 포워딩 같은 것을 하려고 합니다.

포트 8182에서 데이터베이스(Neptune)에 연결할 수 있는 원격 Linux 인스턴스(EC2)가 있습니다. 이 인스턴스만 Neptune에 연결할 수 있으며, localhost에서는 직접 연결할 수 없습니다. 또한 localhost 포트 8182에 연결하여 작동하는 데이터베이스용 UI 도구(GraphExp)가 있고, UI 도구가 원격 인스턴스를 통해 데이터베이스에 연결되기를 원합니다.

사용자 인터페이스 --> localhost:8182 --> ec2-instance.amazonaws.com:8182 --> neptune-db.amazonaws.com:8182/gremlin

문제는 데이터베이스를 쿼리하려면 데이터베이스를 경로로 보내야 한다는 것입니다 /gremlin.

예를 들어 SSH를 통해 EC2 인스턴스에 연결하면 다음을 사용하여 데이터베이스를 성공적으로 쿼리할 수 있습니다.

curl -X POST -H 'Content-Type:application/json' https://db-cluster-url-name.region.neptune.amazonaws.com:8182/gremlin -d '{"gremlin":"g.V().groupCount().by(label)"}'

반면에 UI 도구는 경로 없이 포트 8182로만 ​​요청을 보냅니다. 다음과 같이 포트 포워딩을 설정해 보았습니다.

ssh -vL 8182:db-cluster-url-name.region.neptune.amazonaws.com:8182 -i key.pem [email protected]

그러나 요청은 경로 db-cluster-url-name.region.neptune.amazonaws.com:8182가 없는 곳으로 전달됩니다 /gremlin.

로컬 포트 ​​8182에 대한 요청이 데이터베이스의 포트 8182로 전달되도록 이러한 서버 간의 관계를 설정하려면 어떻게 해야 합니까?추가 경로 포함?

이상적으로는 NGinX와 같은 무거운 기술을 피할 수 있도록 패키지 관리자와 함께 제공되는 사전 설치 또는 unix 명령이 포함된 솔루션을 원합니다. 하지만 저는 무엇이든 효과가 있는 것부터 시작하겠습니다. 거지는 선택자가 될 수 없습니다. :-)

당신의 도움을 주셔서 감사합니다!

관련 정보