Редактировать: Для Экспресс это безопаснее и рекомендуется использовать req.secure
(как @Andy рекомендует ниже). Хотя он использует аналогичную реализацию, он будет безопасен для будущего использования, а также опционально поддерживает заголовок X-Forwarded-Proto
.
Это, как говорится, для вашего использования было бы быстрее использовать Экспресс 'req.protocol
, либо http
, либо https
. Обратите внимание, однако, что для исходящих ссылок вы можете просто обратиться к //example.com/path
, и браузер будет использовать текущий протокол. (Смотрите также Can I change all my http:// links to just //?)
Для узла Request
объекта без Экспресс:
Это в req.connection.secure
(булево).
Edit: API-интерфейс изменился, для узла 0.6.15+:
подключение к HTTPS имеет req.connection.encrypted
(объект с информацией о соединении SSL). HTTP-соединение не имеет req.connection.encrypted
.
Кроме того (от the docs):
С поддержкой HTTPS, используйте методы verifyPeer() и request.connection.getPeerCertificate(), чтобы получить данные для проверки подлинности клиента.
Является ли это еще доступным в последнем узле 0.10 и выше? – CMCDragonkai
Хм, можете ли вы проверить это для более поздних версий узлов, таких как 0,8 и выше, я не могу найти ничего подобного в документации. Но может быть, я читаю не в том месте. – Olga
Это все еще существует в Node v5.x. – Ben