
나는 사용자가 자신의 사용자 지정 도메인을 지정할 수 있도록 하는 ASP.NET MVC 응용 프로그램을 작성했습니다. 모든 요청을 기본 웹 사이트로 보내도록 IIS를 구성했으므로 호스트 헤더를 사용할 필요가 없습니다. 모든 것이 완벽하게 작동합니다. 유일한 문제는 SSL입니다.
나는 이 질문이 많은 포럼에서 여러 번 요청되었다는 것을 알고 있지만 답변은 일반적으로 충돌하거나 다음과 같이 절대적으로 말합니다(이것은 수행할 수 없습니다). 그것은 나에게 실제로 선택 사항이 아닙니다. 제가 여기서 찾고 있는 것은 몇 가지 옵션입니다. 나는 틀에 얽매이지 않는 것에 열려있습니다 :).
ISA 서버를 SSL 프록시로 사용할 것을 제안하는 몇 가지 건설적인 응답을 보았습니다. 이것에 대해 더 아는 사람이 있나요? 아니면 이것을 구성하고 성공한 사람이 있습니까?
기본적으로 저는 사용자에게 애플리케이션에서 CSR을 요청하고, SSL 인증서를 구매 및 다운로드하고, 애플리케이션으로 돌아와 공인 인증 회사에서 발행한 인증서를 업로드하는 방법을 제공하고 싶습니다.
사이트에서 사용자 정의 도메인과 SSL을 사용하려는 클라이언트에게 별도의 IP 주소를 제공하지 않고도 이 작업을 수행하고 싶습니다. 이는 내 애플리케이션이 Amazon 클라우드에서 호스팅되고 Amazon이 나에게 큰 IP 주소 블록을 제공하는 데 관심이 없기 때문입니다.
내 응용 프로그램은 IIS6 또는 IIS7에서 호스팅될 수 있습니다.
해결책: 이 문제에 대한 모든 도움에 감사드립니다. 나는 지금처럼 이 문제를 확실히 이해하지 못했습니다. 지금 내 해결책은 와일드카드 인증서를 생성하고 클라이언트가 보안 연결을 원하는 경우 clientname.someshareddomain.com을 사용하도록 강제하는 것이라고 생각합니다. 이에 동의하지 않는 클라이언트의 경우 Amazon 웹 서비스에 대한 API 호출을 통해 또 다른 탄력적 IP 주소를 제공하고 IIS에서 새 웹 사이트를 생성하여 내 애플리케이션의 루트 폴더를 가리킨 다음 프로그래밍 방식으로 CSR을 생성할 것입니다. 새로운 사이트. 적절한 IP 주소 블록을 제공하기 위해 Amazon과 일종의 계약을 체결해야 할 것입니다.
답변1
“이건 할 수 없어”라는 대답이 마음에 들지 않지만 하고 싶은 일을 할 수 없다는 점은 정말 안타깝습니다. 기술은 이것이 원하는 방식으로 작동하도록 허용하지 않습니다.
이유는 다음과 같습니다.
HTTP 프로토콜을 사용하면 둘 이상의 서버가 IP 주소를 공유할 수 있습니다. HTTP/1.1 Host 헤더를 통해 이 작업을 수행합니다.
Host: servername.example.com
SSL 핸드셰이크가 발생합니다.~ 전에HTTP 핸드셰이크가 발생합니다. 이는 서버가 클라이언트가 원하는 서버에 따라 클라이언트에 어떤 인증서를 제공할지 전혀 알 수 없음을 의미합니다.
따라서 원하는 만큼 시도해 보십시오. 단, 단일 IP 주소에 여러 인증서를 사용할 수는 없습니다. 아무리 노력해도, 아무리 노력해도 이것은 당신에게 선택 사항이 아닙니다.
답변2
마이클이 말했듯이, 불가능한 일이 있을 때 발을 구르거나 삐죽이는 것은 상황을 바꾸지 않습니다.
별도의 IP 주소에 별도의 SSL 인증서를 설치하는 것은 기술적으로 문제가 되지 않습니다. 이는 단지 프로비저닝 문제(프로그래밍의 단순한 문제)일 뿐이며 대규모 회사의 요구 사항을 이해하고 SSL 도메인에 적절한 크기의 주소 블록을 기꺼이 사전 할당할 의향이 있는 네트워크 공급자가 있는 것입니다.
그러나 "라는 또 다른 옵션이 있습니다.서버 이름 표시", 이를 통해 브라우저는 SSL 협상 시 통신할 가상 호스트가 무엇인지 서버에 알려 서버가 올바른 인증서를 제시할 수 있습니다. 불행하게도 이에 대한 지원은 보편적이지 않습니다. 위 Wikipedia 페이지에 따르면 IIS 6도 마찬가지입니다. 7도 서버 측에서 이를 처리할 수 없으며 클라이언트 측에서 IE와 함께 사용하려면 Vista를 실행해야 합니다(Firefox, Opera 및 Chrome 모두 한동안 이를 지원했습니다).
따라서 괜찮은 웹 서버로 기꺼이 전환하고 이전 Microsoft OS에서 오래된 브라우저를 사용하고 있는 사용자 기반의 모든 부분을 소외시키고 싶다면 이를 사용할 수 있습니다. 하지만 Windows 98에서 IE 5.5를 실행하는 Tillie 이모를 괴롭히고 싶은 사람은 아무도 없는 것 같습니다...
답변3
문제가 보안 세션 제공에 관한 것이라면(각 고객이 자신의 인증서를 소유하는 것에 관한 것이 아니라) 와일드카드 SSL 인증서를 사용하여 부담과 복잡성을 없애는 것은 어떨까요?