Назад | Перейти на главную страницу

Перенаправить некоторый трафик HTTPS на HTTP в Caddy

Я использую Caddy в качестве прокси для многих сайтов на одном сервере. Некоторые из моих сайтов не готовы к HTTPS. Я могу маршрутизировать их по HTTP нормально, но если я захожу на эти сайты с HTTPS, я получаю некрасивый ...

No such site at :443

...ошибка. Как я могу использовать Caddy для перенаправления на HTTP вместо этого?

Это работает, но дает мне ошибку:

siteCanHandleSSL.com {
  proxy / 123.123.123.123:80 {
    transparent
  }
  tls my@email.addy {
    dns route53
    max_certs 200
  }
}

http://siteCantHandleSLL.com {
  proxy / 123.456.654.321:80 {
    transparent
  }
  tls off
}

Это дает мне другую ошибку:

siteCanHandleSSL.com {
  proxy / 123.123.123.123:80 {
    transparent
  }
  tls my@email.addy {
    dns route53
    max_certs 200
  }
}

https://siteCantHandleSLL.com {
  redir http://{host}{uri}
  tls off
}

http://siteCantHandleSLL.com {
  proxy / 123.456.654.321:80 {
    transparent
  }
  tls off
}

❯ локон https://surrain.com curl: (60) Проблема с сертификатом SSL: неверная цепочка сертификатов Подробнее здесь: https://curl.haxx.se/docs/sslcerts.html

curl по умолчанию выполняет проверку сертификата SSL, используя «связку» открытых ключей центра сертификации (CA) (сертификаты CA). Если файл пакета по умолчанию не подходит, вы можете указать альтернативный файл с помощью параметра --cacert. Если этот HTTPS-сервер использует сертификат, подписанный ЦС, представленным в комплекте, проверка сертификата, вероятно, не удалась из-за проблемы с сертификатом (срок его действия может истек или имя может не совпадать с именем домена в URL-адресе). Если вы хотите отключить проверку сертификата с помощью curl, используйте параметр -k (или --insecure).

~ ❯ curl -k https://surrain.com Нет такого сайта на: 443%

Чтобы установить действительное SSL-соединение с доменом, сервер должен иметь действующий сертификат для этого домена. В противном случае вы получите сообщение об ошибке о недействительном сертификате.

Если вы хотите перенаправить с HTTPS на HTTP, вам нужен действующий сертификат. Это связано с тем, что SSL ниже HTTP, и ответ перенаправления HTTP отправляется после установки действительного SSL-соединения.

Лучшее, что вы можете сделать, - это разместить домены только для HTTP на сервере, у которого нет сервера, который прослушивает порт SSL. Это означает, что вам нужен отдельный сервер для ваших HTTPS / HTTP и простых HTTP-сайтов.