2012-09-26 1 views
2

나는 3 개의 푸른 웹 역할과 1 개의 작업자 역할을 포함하는 솔루션을 가지고 있습니다.azure 컴퓨팅 에뮬레이터의 127.0.0.x 주소가 계속 변경됩니다.

이러한 역할에는 각각 다른 하위 도메인이 필요하고 독립적으로 배포해야 할 수도 있기 때문에 각각 고유 한 Azure 배포 프로젝트가 있습니다.

하늘에 민감한 (여러 하위 도메인에 걸쳐있는 쿠키, 역할 간의 상호 연결 등) 측면을 개발하면서 푸른 컴퓨팅 에뮬레이터의 끊임없이 변화하는 가상 IP (현재 127.0.0.2, 127.0. 0.3과 127.0.0.8 (중간에 아무 것도 없음)이 문제가되었습니다. 또한 브라우저는 각 IP를 다른 호스트로 인식하므로 하위 도메인 스패닝 쿠키를 구현하려면 DNS 주소가 필요합니다.

이 주제에 관한 많은 정보 자료가없는 것 같아서 어쩌면 저의 접근 방식이 잘못되었을 수도 있지만, 다른 사람들은 어떻게 그 문제를 해결합니까?

1) IIS Express 대신 전체 IIS를 사용하십시오. 실행 가능한 솔루션이 될지 모르겠다. 변화하는 주소는 멈출 것이라고 생각하지만, 가능한 한 가벼운 IIS Express를 선호한다. 또한 안정적인 하위 도메인을 사용할 수 있는지 확신 할 수 없습니다 (프로덕션 도메인과 동일하지 않음) 너무 많은 수작업을 수행해야합니다.

2) ServiceDefinition.csdef에서 hostHeader 특성을 사용하십시오. 호스트 파일을 수동으로 변경하는 경우에만 작동하며 호스트 파일 항목을 제거하지 않고는 생산적인 코드에 도달 할 수 없습니다 (오류가 발생하기 쉽고 지루한 경우)

3) 일부 역방향 프록시이지만 잔인한 느낌. 난 그냥 뭔가를 분명 잊고 희망

)

감사합니다,
Pharao2k

[편집] 내가 원하는 건 어느 한 호스트 이름과 URL을 구성하여 병렬로 내 세 가지 프로젝트 디버깅을하는 것입니다 3 개 또는 1 개의 DNS 이름 모두 (각 프로젝트의 하위 도메인 포함). 어쩌면 이걸 시도하는 동안 내 정신을 잃어 버렸지 만, 어떻게 할 수 있는지 알 수는 없습니다.

  • IIS Express와 3 개의 Azure 배포 프로젝트를 사용하는 경우 컴파일 할 때마다 각각 다른 IP (127.0.0.X)가 표시됩니다. 물론 호스트 파일을 편집하고 DNS 캐시를 새로 고칠 수 있습니다. F5를 누를 때마다 수락 할 수 없습니다.

  • 전체 IIS와 3 개의 Azure 배포 프로젝트를 사용하는 경우 한 번에 둘 이상을 시작할 수 없습니다. -> 사용할 수 없게됩니다.

  • 내 모든 역할에 결합 된 Azure 프로젝트를 사용한다면 적어도 5 개의 푸른 프로젝트 ... 하나만 유지해야 할 것입니다. (말했듯이 실제로 배포하려면 독립적으로 배포 할 수 있어야합니다) 및 결합 된 것. 그리고 저는 이것이 어떻게 든 열심히 나를 쫓아 낼 것이고 확실한 것은 시험 된 시나리오가 될 수 없다는 것을 확신합니다. [편집 # 2] -.-

나는 상상할 수 없다 와우, 심지어 여기에 IP 주소가 모든 F5 후 호스트 파일 + DNS 플러시 수정에 이렇게 다시 변경 않는 사용의 내 시나리오 하위 도메인은 특이한 것입니다. 왜 아무도이 문제를 겪지 않는 이유가 무엇인지 이해할 수 없습니다.

+0

웹 엔드 포인트의 포트를 충돌하지 않는 높은 수로 설정하십시오. –

+0

고마워,하지만 그건 IP 주소를 변경하는 데 도움이되지 않습니다;) – Pharao2k

+0

아, 미안하지만 그들 모두가 다른 클라우드 프로젝트가 된 것 같습니다. 단일 클라우드 개발 프로젝트에서 여러 웹 역할을 수행한다면 단일 IP이기 때문에 효과가 있습니다. –

답변

3

웹 역할을 단일 역할로 통합하는 것이 좋습니다. 관리가 쉽고 비용이 적게 들고 (최소 배포 크기가 작음) 확장 할 단일 차원을 얻을 수 있습니다.

다른 포트 번호 또는 호스트 헤더를 사용하여 트래픽을 올바른 끝점으로 보낼 수 있습니다. http://msdn.microsoft.com/en-us/library/windowsazure/gg433110.aspx

+0

불행히도 다른 역할은 될 수 없습니다. 배치 독립성이 필요하기 때문에 더 적은 수의 역할로 통합됩니다. 컴퓨팅 에뮬레이터에서 DNS 주소가있는 여러 호스트를 호스트하는 방법이 있어야합니다. – Pharao2k

+0

실제로 에뮬레이터가 필요합니까? IIS/cassini에서 직접 웹 응용 프로그램을 실행할 수 있습니다. –

+0

그들은 하늘의 문맥에서 사용되지 않을 때 다르게 행동 할 것입니다, 그렇게 테스트하기가 매우 어려울 것입니다. – Pharao2k

1

각 프로젝트 (참조 프로젝트가 아닌 푸른 역할 프로젝트)에 속성을 가져 :

예를 들어,이 작업을 수행하는 방법에 대해 설명 가능한 기사의 많음이있다. 프로젝트 속성 -> 웹으로 이동하십시오. "로컬 IIS 서버 사용"및 "IIS Express 사용"을 선택했습니다. 문제를 잠그기 위해 프로젝트 URL에 내가 원하는 URL을 설정했습니다.

나는 http : // localhost : [포트 번호]를 사용하지만 임의의 IP와 포트를 선택하지 않으면 필요에 따라 서버와 호스트 파일을 구성 할 수 있어야합니다.

+0

azure 컴퓨팅 에뮬레이터를 통해 웹 역할을 시작하지 않으면 작동하지 않겠습니까? 확실하게 가능하다면로드 밸런싱, 진단, 추적 등을 로컬에서 테스트 할 수 없다는 것을 의미합니다. 적어도 "하늘빛"이 아닙니다. – Pharao2k

관련 문제