Действительно ли возможно установить ту же работу порта с http и https?

У меня есть nodejs приложение, которое номер порта 3001 и это приложение, работающее с http, но не работой с https. На апачском сервере, набор отворот проксируют для 80 или 443 кому: 5001 и отворот набора проксирует для 3 001 также.

http://<domain>:3001/socket.io/socket.js   ---> Work

https://<domain>:3001/socket.io/socket.js   ---> Not Work(Secure Connection Failed or This site can’t be reached)

Здесь я должен знать тот же порт (3001) работа с http и https ?

Какое-либо решение для этого?

3
задан 14 December 2016 в 12:40

2 ответа

Нет, не возможно выполнить HTTP и HTTPS на том же порте.

При использовании HTTPS соединение использует протокол SSL/TLS от, очень запускаются. Нет никакой возможности для клиента начать передавать использующую плоскость HTTP.

стандарт SSL/TLS не предусматривает способ ронять к HTTP, если коммуникация простого текста обнаруживается на порте.

7
ответ дан 1 December 2019 в 13:24

Я не знаю, как они это сделали, но разработчики в моей компании сделали именно то, что @thomasrutter говорит, что вы не можете сделать: мы используем нестандартный TCP-порт (то есть не 80 и не 443), например. 8080, и на этом порту, если вы отправляете http-запрос, он перенаправляет вас на https на том же порту 8080. Они сделали это с nginx и не добились этого с apache2!

Редактировать: похоже, это происходит в nginx с кодом ошибки 497, а ваш браузер делает все остальное: https://ma.ttias.be/force-redirect-http-https-custom-port-nginx/

1
ответ дан 21 May 2020 в 17:24

Другие вопросы по тегам:

Похожие вопросы: