의 말을하자
1) 개인 인트라넷에서 실행되는 서버가 있습니다. Tomcat을 사용하여 privateserverip:8080/appname에서 웹앱을 제공합니다.
2) myapp.local 도메인이 있고 이를 최상위 레벨에 입력하면 다음과 같습니다.http://myapp.local요청이 인트라넷 내에서 오는 경우 privateserverip:8080/appname에서 앱을 제공합니다.
그것이 실제 상태입니다.
현재: 나는 공용 도메인인 example.org를 가지고 있으며 웹 사이트가 인트라넷(!)에 있는 사용자를 myapp.example.org로 리디렉션하는 경우 privateserverip:8080/appname이 제공되기를 원합니다. 인트라넷 외부의 누군가가 myapp.example.com을 방문하면 아무 일도 일어나지 않습니다.
이것이 가능하다고 말해주세요!? :)
example.com의 nginx에서 가상 호스트를 구성할 수 있을 뿐만 아니라 example.com에 대한 DNS 항목 및 이와 유사한 항목도 만들 수 있습니다. 네가 원하는 모든 것. 그냥 이게 가능하다고 말해줘
당신의 도움을 주셔서 감사합니다 :)
답변1
두 가지 방법 중 하나:
- myapp.example.com/appname으로 가는 모든 요청에 대해 웹 서버의 내부 IP 주소를 제공하는 인트라넷의 DNS 서버로 로컬 클라이언트를 지정합니다. URL에 appname을 사용해야 합니다. 그렇지 않으면 간단한 IP 매핑이 수행되지 않습니다. 일하지 않음).
- example.com의 DNS 설정을 변경하고 웹 서버의 내부 IP 주소를 가리키는 A 레코드를 추가합니다. 다행스럽게도 네트워크 외부의 사람들은 내부 네트워크에 액세스할 수 없지만 서버의 (내부 개인) IP 주소를 알 수 있으므로 보안 문제가 발생할 수 있습니다.
가능하다면 #1을 제안하겠습니다. 일반적으로 라우터(일반적으로 DNS 서버)에서 이 작업을 수행할 수 있습니다.
답변2
사람들은 왜 계속 비공개와 공개를 혼합합니까? 내부 사용자가 비공개 URL(http://myapp.local) 및 공개 URL(http://myapp.example.org). 다른 것은 단지 모범 사례에 대한 해결 방법일 뿐입니다.