2017-02-13 14 views
0

В моем ящике linode я установил SSL-сертификаты Let's Encrypt и создал приложение Vibe.d с голыми костями для тестирования моего SSL-соединения. Я всегда тайм-аут. Вот код:HTTPS on Vibe.d

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 

Когда вошли в Linode, я могу сделать

lynx https://localhost:8080 

и рысь предупреждает меня о сертификатах, но я могу видеть сайт после нажатия «Y» дважды.

Я также могу сделать

lynx http://localhost 

но не

lynx http://localhost:8080 

На данный момент я не знаю, если мой код виноват или моя установка виновата.

Мой брандмауэр UFW позволяет HTTPS откуда угодно.

ответ

2

Я бы использовал nginx в качестве прокси для вашего приложения vibe-d, это лучше, чем пытаться использовать vibed с ssl.

Но ваша установка кажется действительно странной. Вы слушаете на 8080, поэтому у вас не должно быть доступа к вашему сайту с www.findyourtutor.info или findyourtutor.info без указания какого-либо порта, поэтому я предполагаю, что в игре есть какой-то другой веб-сервер. Попробуйте прослушать 443, если вы хотите использовать https. Или у вас уже есть какой-то прокси?

+0

Спасибо за ваш ответ, @ Kozzi11. Да, это кажется странным, но как-то это работает. Я попробую ваши предложения. –

+0

Привет @ Kozzi11, я узнал, что у меня есть несколько экземпляров моей программы после выпуска ps aux, и один из них прослушивал порт 80! Поэтому я перезагрузил свой linode, и теперь все становится понятнее. –