2017-01-17 1 views
0

동적 호스트 목록의 요청을 수락 할 NodeJS가있는 서버를 구축하려고합니다. 예를 들어 고객이 "joesdomain.com" 도메인에 등록하고 "timsdomain.net" 도메인으로 등록하도록 설정할 수 있습니다. 이 값은 다른 프로세스를 통해 데이터베이스 테이블에 저장됩니다. diet.js이이 문제를 해결할 것이라는 희망이 있었지만이 사용 사례를 지원하는지 잘 모르겠습니다. 내가 찾은 예제는 대부분 mydomain.com/joesdomain 또는 mydomain.com/timsdomain과 같은 하위 도메인과 유사합니다. 내가 승인 된 도메인 목록을 데이터베이스에서 읽을 수 있다고 생각하고 내 경로 매핑에서 그 값을 사용합니까?NodeJS 용 동적 호스트

가 여기 내 예상되는 흐름이다 : 계정에 대한

  • 고객 가입 한, 우리는 도메인 이름을 획득하고 우리의 호스트 IP 지적이있다.
  • 방문자가 새 도메인 이름을 방문하면 내 NodeJS 서버에서 요청을 확인한 다음 라우팅을 처리합니다 (동일한 경로의 90 %가 예상 됨).

이것이 가능한지 아무도 알지 못하지만 올바른 방향으로 나를 가리켜 주길 바랍니다. 이 도메인을 매핑하기 위해 코드를 수정하고 코드를 재배포하지 않아도됩니다.

+0

도메인 목록에서 요청을 수락한다는 것은 무엇을 의미합니까? 요청은 호스트가 아닌 IP 주소에서옵니다. 주어진 IP 주소가 어떤 도메인과 연결되어 있는지 파악하기 위해 역방향 조회를 수행 할 수 있지만 많은 IP 주소가 기업에 속하고 도메인과 관련되지 않은 여러 가지 방법으로 문제가 있습니다. – jfriend00

+0

단일 서버가 도메인 목록에 대한 요청을 수락하여 http://joesdomain.com에 대한 요청이 귀하의 서버로 이동하게하려는 것입니까? 그렇다면 DNS를 통해 서버에서 해당 도메인을 가리켜 야하며 서버는 HTTP 헤더를 통해 어느 도메인인지 알 수 있습니다. – jfriend00

+0

네, 그게 제가 설명하려고했던 것입니다. 따라서 joesdomain.com이 내 IP로 확인하고 NodeJS가 요청을 받으면 HTTP 헤더를 검사하여 원본을 확인해야합니다. 일반적인 사용자의 경우 브라우저에 URL을 제공하는 것 외에 다른 특별한 작업을 수행해야합니까? – sonoerin

답변

1

여러 개의 다른 도메인을 서버로 보내는 경우 서버는 HTTP 요청의 Origin header을보고 요청한 도메인을 서버가 알 수 있습니다. 브라우저는 최종 사용자가 아무 것도하지 않고 해당 헤더를 자동으로 설정합니다.

당신이 this spec에서 5 절을 보면, 그것은 말한다 :

는 사용자 에이전트가 HTTP 요청을 발행 할 때마다

는, 사용자 에이전트가 가 을 준수 "원산지"라는 단 하나의 HTTP 헤더를 포함해야 ABNF [RFC5234] 문법 다음 :

+0

내 호스트를 가리키는 1000 개의 고유 도메인을 갖기를 원하면이 NodeJS 인스턴스 (dietjs 또는 turtle.io 사용)가 모두 제공하는 것이 호스트 별 연결 제한에 대한 문제가 될 것입니다. 아직 없습니다) – sonoerin

+1

@sonoerin - 서버 측에는 호스트마다 아무 것도 없습니다. 그것들은 여러분의 서버가 원래의 헤더를 조사하여 그들이 의도 한 도메인을 확인하는 들어오는 개별 HTTP 요청 일뿐입니다. 요청에 대해 수행 할 작업을 결정하기 위해 서버에서 원점을 찾아야하는 경우 서버에서 효율적인 호스트 조회 체계를 사용하게됩니다 (아마도 모든 것을 메모리에 보관할 수 있습니다). 단일 브라우저에는 호스트 별 연결 제한이 있지만 서버는 없습니다. 이 연결은 여러 브라우저에서 나왔다고 가정하므로 브라우저 당 호스트 연결 제한은 없어야합니다. – jfriend00

+0

감사합니다 @ jfriend00! – sonoerin