간단한 질문일 수도 있으니 양해해주세요...
포트 5000을 통해 외부에서 액세스할 수 있는 Synogy NAS를 실행합니다. 포트 80에 있는 다른 PC에서도 웹 서버를 실행합니다.무들외부 세계에 표시하고 싶은 Synology의 서버입니다.
지금은 NAS/Moodle을 통해서만 내부적으로 수행할 수 있습니다. 원격일 때 dyndns를 통해 이 모든 것에 액세스합니다. Moodle에 원격으로 접근할 수 있는 방법이 있나요? 방법이 생각이 안 나네요...
감사합니다!
답변1
정답은 "포트포워딩" 입니다. 로컬 네트워크는 라우터/방화벽이 될 NAT 장치 뒤에 있을 가능성이 높습니다. 해당 장치는 인터넷에서 들어오는 패킷을 수락하는 유일한 장치입니다. 로컬 장치는 공개적으로 라우팅할 수 없기 때문에 라우터는 사용자가 알려주지 않는 한 들어오는 패킷을 어떤 로컬 장치로 보낼지 알 수 없습니다.
경계 장치(라우터\방화벽)에 로그인하고 포트 전달 규칙을 찾습니다. 원격으로 연결하려면 무들 포트를 NAS에 전달해야 합니다. Moodle은 포트 80을 사용합니다. 이미 웹 서버를 실행하고 있다고 말씀하셨습니다. 해당 웹 서비스가 이미 포트 80을 사용하고 있다면 웹 서버나 무들 서버의 포트를 변경해야 합니다.
포트 8080에서 실행할 수 있습니다.
또는
들어오는 트래픽을 처리하는 NGNIX와 같은 프록시를 설정할 수 있습니다. 이는 다음과 같습니다: 포트 80이 NGNIX 서버로 전달됩니다. 그런 다음 yourhostname.com에 기본 웹사이트를 두고 무들.yourhostname.com과 같은 하위 도메인에 무들 사이트를 가질 수 있습니다. 그런 다음 NGNIX는 호스트 이름을 기반으로 트래픽을 다른 백엔드 웹 서버로 전달할 수 있습니다.
즉, 다음과 같은 호스팅 솔루션을 사용해야 하는 것 같습니다. https://new.moodle.net/
답변2
Moodle이 다른 포트(80이 아닌)에서 실행 중인 경우 포트 5000에서 NAS와 유사하게 액세스하도록 라우터를 구성할 수 있습니다(예: 포트 전달을 통해).
그러나 Moodle이 NAS의 포트 80에서 실행되고 있는 경우(또는 다른 포트에서 Moodle을 사용할 때 포트 번호를 표시하지 않으려는 경우)역방향 프록시귀하의 네트워크에서. 즉, 역방향 프록시는 들어오는 HTTP 요청을 수신하고 이러한 요청을 적절한 서버로 전달하는 것을 용이하게 합니다. 또한 응답을 원래 클라이언트로 다시 전달하는 데 도움이 됩니다.
역방향 프록시를 생성하려면 일반적으로 이 기능을 처리하기 위해 네트워크에 서버를 구성하기만 하면 됩니다.NAS를 통해 이 작업을 수행하는 것이 가능할 수도 있지만, 웹 서버만으로 PC를 좀 더 효과적으로 제어할 수 있을 것입니다. 이 경우 통신 체인은 아마도 다음과 같습니다.
<Internet> <---> <Router> <---> <Web Server [Reverse Proxy]> <---> <NAS>
<Web Server>
위 다이어그램에서 귀하는 역방향 프록시이지만 해당 서버에 구성된 웹 사이트를 계속 전달할 수 있습니다.
역방향 프록시를 설정하는 실제 단계는 사용되는 장치나 소프트웨어에 따라 다릅니다. 예를 들어, Apache는 특정 모듈과 "가상 호스트"를 사용하는 반면 Nginx는 (가상) "서버 블록"을 사용하며 NAS에는 고유한 구성 방식이 있을 수 있습니다.
그럼에도 불구하고, 일반적으로 Moodle에 액세스하려면 두 번째 도메인 이름(동적 또는 기타)이 필요합니다. 이는 동일한 IP:포트 조합에서 실행되는 웹사이트를 구별하는 가장 쉬운(또는 유일한) 방법인 경우가 많습니다. 이는 잠재적으로 하위 도메인(예 http://subdomain.example.com
: )일 수 있습니다.