Я у себя реализовал схему такую (пока без ССЛ):
Поднял веб-сервер lighttpd, который по запросу выдает статическую страничку html с джаваскриптом, последний в свою очередь открывает веб-сокет на 1177 порту.
Я вероятно чего-то не понимаю. Зачем открывать новое соединение, если можно использовать текущее на 80 порту? WebSockets - это просто переключение языка общения между клиентом и сервером. Этот протокол и был создан для того, чтобы исключить необходимость в постоянном открытии новых соединений для проверки изменения данных и т.п. задач. Используется текущее открытое. Не отправляются заголовки. Сервер имеет возможность сообщить клиенту об изменении данных. То есть браузер и веб-сервер начинать работать на 80 порту как обычные сетевые приложения.
На этой же машине запустил сервер веб-сокетов (написанный на Qt). Все подключается и работает, но очень сильные сомнения, в том, что по одному каналу веб-сервер и веб-сокет работают.
А ну так-то конечно. У Вас как бы два сервера получается. Естественно, раз организуется новое соединение, тогда и авторизацию необходимо проходить по новой.
Сейчас проверить не могу (на работе проект остался), но сдается мне, что если html страничку загружать не с сервера, а из файла, то в принципе картина работоспособности не поменяется, т.е. веб-сокет так же создастся, т.о. http соединение в этом случае ни при чем.
Ну да. Ваш вебсервер должен быть одним приложением, чтобы заработало то, что Вы задумали.
В общем вопрос трансформируется в следующий: как спроксировать этот веб сокет через веб-сервер lighttpd, таким образом, что бы сервер веб-сокета находился за вебсервером и не торчал отдельным портом в общую сеть?
Вряд ли lighttpd умеет такое, а именно он должен это делать. С другой стороны, это всё равно будет новое отдельное соединение, пусть и между lighttpd и сервером веб-сокетов.