HTTPS на Vibe.d
На своем ящике с линодами я установил SSL-сертификаты Let's Encrypt и создал пустое приложение Vibe.d для проверки моего SSL-соединения. У меня всегда тайм-аут. Вот код:
import vibe.vibe;
void main()
{
auto settings = new HTTPServerSettings;
settings.port = 8080;
settings.bindAddresses = ["::1", "127.0.0.1","50.116.15.145"];
settings.tlsContext = createTLSContext(TLSContextKind.server);
settings.tlsContext.useCertificateChainFile("/etc/letsencrypt/live/findyourtutor.info/cert.pem");
settings.tlsContext.usePrivateKeyFile("/etc/letsencrypt/live/findyourtutor.info/privkey.pem");
listenHTTP(settings, &hello);
logInfo("Please open 'http://www.findyourtutor.info' in your browser.");
runApplication();
}
void hello(HTTPServerRequest req, HTTPServerResponse res)
{
res.writeBody("Hello, World!");
}
Если я просто посещу
www.findyourtutor.info or
findyourtutor.info
Я могу видеть их в порядке.
Но если я приеду https://findyourtutor.info
Время ожидания
Я также тайм-аут с
https://findyourtutor.info:8080
https://www.findyourtutor.info
https://www.findyourtutor.info:8080
Когда залогинен на линоде, я могу сделать
lynx https://localhost:8080
и lynx предупреждает меня о сертификатах, но я могу увидеть сайт после двойного нажатия "y".
Я тоже могу сделать
lynx http://localhost
но нет
lynx http://localhost:8080
На данный момент я не знаю, является ли мой код ошибочным или моя установка ошибочна.
Мой брандмауэр UFW позволяет HTTPS из любой точки мира.
1 ответ
Я бы использовал nginx в качестве прокси для вашего приложения vibe-D, это лучше, чем пытаться использовать Vibed с SSL.
Но ваша установка кажется действительно странной. Вы слушаете 8080, поэтому не должно быть доступа к вашему сайту с www.findyourtutor.info
или же findyourtutor.info
без указания порта как-то, так что я думаю, что есть какой-то другой веб-сервер в игре. Вы должны постараться слушать 443
если вы хотите использовать https
, Или у вас уже есть какой-то прокси?