문제

나는 이 코드를 사용하여,요청된 URL:

private static string GetWebRequestContent(string url)
{
  string sid = String.Empty;

  HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(url);
  req.KeepAlive = false;

  using (HttpWebResponse res = (HttpWebResponse)req.GetResponse())
  {
    using (StreamReader sr = new StreamReader(res.GetResponseStream()))
    {
      sid = sr.ReadToEnd().Trim();
    }
  }

  return sid;
}

나는 그것을 사용하여 테스트하 끈적임의 작업 부하 분산,3 개의 서버입니다.그들은 모두 정적 HTM 이라는 파일 sid.htm 서버 서버 ID 를 작성합니다.

한 URL HTTP 이 잘 작동합니다.하지만 HTTPS 그것은 작동하지 않습니다.이것을 얻을 제외:

요청이 중단되었습니다:를 만들 수 없습니다 SSL/TLS 안전한 채널입니다.

지금이 순간,나는 단지 2 뒤에 서버의 WLB 및 중 하나에 자신의 공 IP 됩니다.HTTPS 요청이 작동하는 경우 나는 독립형 서버-그러나 언제나 WLB 을 위에 오류가 있습니다.

하나는 일:사이를 전환하기 위해 치는 단일 서버 및 WLB 사용하여 호스트 파일입니다.DNS 기록한 도메인 단일 서버에서는 순간입니다.그래서 나는 기록을 넣 내 호스트 파일을 칠 WLB.이지 말아야 할 문제를 일으키는...

나의 질문:SSL 증명 인증서가 된 플러그 가능한 사용합니까?사용하는 경우 40 비트 데 또는 56 비트 데,그 이유기 때문에,사람들은 장애인에 WLB.하지만 그는 인증서를 사용되지 않은 브라우저에서부터 IE3 고 Netscape1 및 2.

도움이 되었습니까?

해결책

내 브라우저에서 완벽하게 작동합니다.

질문을 게시 한 후 1 분 후 해결책을 찾았습니다.

ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;

그리고 그것은 httpwebrequest가 TLS 1.0을 사용하고 있다는 것을 의미합니다 - 모르겠지만, WLB에서 비활성화 된 40 비트 des 또는 56 비트 des라고 가정합니다.

다른 팁

가 smothing 을 고려할 수 있습으로 로드 밸런싱 장치를 의미합니다.사람을 우리는 앞으로 사용 HTTPS 안전한 교통을 뒤에 서버에 안전하지 않은 HTTP 연결합니다.사이 연결 부하 분산하고 브라우저입니다 여전히 안전하지만 필요가 없을 위해 머리 위의 보안 프로토콜을 사이에 분산하고 웹 서버에 있습니다.

우리가 원을 감지하는 보안 연결이 우리의 웹 서버는 하지만 처음에는 본 적이 없는 HTTPS 를 연결합니다.그 때 우리는 깨달 뒤에 트래픽의 분산을 모두 안전하지 않습니다.로 만든 감각을 한다는 것을 알았습니다.

우리가 지금 하는 일은 앞으로 모든 트래픽을 보호하로 들어오는 분산(443)을 포트 81(altenative HTTP)를 전달한 모든 일반적인 HTTP 트래픽(포트 80&81)포트 80.그런 다음 우리는 확인할 수 있 포트 웹 서버에 알아 80 안전하지 않 81 안전 사이의 트래픽 브라우저와 밸런 사실에도 불구하고 그것의 모든 HTTP 에서 웹 서버에 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top