Переадресация на https с помощью hunchentoot - PullRequest
1 голос
/ 02 мая 2019

Я установил сервер hunchentoot с помощью ssl. Я бы хотел, чтобы обычные http-запросы перенаправлялись на https.

Кажется, что есть какая-то комбинация hunchentoot:define-easy-handler и hunchentoot:redirect, но я не могу понять.

Вот что у меня есть:

(defvar *https-handler*
  (make-instance 'hunchentoot:easy-ssl-acceptor
                 :name 'ssl
                 :ssl-privatekey-file #P"/path/to/privkey.pem"
                 :ssl-certificate-file #P"/path/to/cert.pem"
                 :port 443))

(hunchentoot:start *https-handler*)

1 Ответ

2 голосов
/ 03 мая 2019

Да, вы можете добавить простой обработчик http с перенаправлением в версию ssl:

(defvar *http-handler*
  (make-instance 'hunchentoot:easy-acceptor
                 :name 'http
                 :port 80))

(hunchentoot:define-easy-handler (redir-to-ssl :uri (lambda (uri) t) :acceptor-names '(http)) ()
  (hunchentoot:redirect "/" :protocol :https)) ; where magic happens

... и затем запустить его:

(hunchentoot:start *http-handler*)

Эта версия перенаправляет просто для индексации/.

...