как обеспечить поддержку TCP / SSL на том же порту - PullRequest
0 голосов
/ 08 июня 2011

Допустим, вы открываете tcp-сокет на порту 80 для обработки http-запроса и ssl-сокет на порту 443 для работы с https ... как некоторые прокси могут предоставлять доступ к ним обоим на одном и том же порту ??

Я нашел только эту ссылку , но она была не очень полезна.Можете ли вы дать мне пример на эрланге или предложить несколько ресурсов, из которых я могу узнать больше по теме?

Заранее спасибо

Ответы [ 2 ]

5 голосов
/ 08 июня 2011

как некоторые прокси могут предоставлять доступ к ним обоим через один и тот же порт ??

При реализации метода HTTP CONNECT (непрозрачный) прокси может переключиться напредоставление туннеля TCP, через который браузер может, например, получить доступ к ресурсу HTTPS.

Довольно редкая спецификация:
http://tools.ietf.org/html/rfc2616#section-9.9

3 голосов
/ 08 июня 2011

Как указано в приведенной вами ссылке, вам нужно будет написать свой собственный сервер, который отслеживает запрос и затем перенаправляет его на правильный протокол.

Как указывает http://www.faqs.org/rfcs/rfc2818.html, HTTPсеанс начнется со строки начального запроса (например, GET /), тогда как сеанс TLS начнется с ClientHello (подробнее о сеансе TLS в wikipedia )

Существует много ресурсовонлайн о написании серверов на Erlang, например Как написать простой веб-сервер на Erlang?

Кстати, ваша терминология неверна: http, https SSL и TLS протоколы ,и все работают (через Интернет), используя сокеты TCP.

...