2015-12-09 40 views
6

Używam Mojolicious dla aplikacji internetowej, która wymaga szyfrowanego połączenia, ale nie wiem jak dodać obsługę SSL do Mojolicious.Mojolicious over HTTPS

Mój współpracownik przysłał mi te pliki domain.key: domena-bundle.crt, domain.crt

i mój startup Mojolicious wygląda następująco:

sub startup { 
my $self = shift; 
$self->secrets(['secretphrase']); 
$self->config(hypnotoad => {listen => ['http://*:80']}); 

Jak mogę dodać HTTPS bez wsparcia konieczności korzystania z reverse-proxy

+1

musisz skonfigurować swój my b serwer (Apache, IIS itp.) w celu przeprowadzenia szyfrowania SSL. Mojolicious to framework sieciowy, a nie serwer WWW. – stevieb

+2

@stevieb pytanie sugeruje, że aplikacja używa Hypnotoad, który jest rzeczywiście serwerem internetowym i może obsługiwać TLS - [ta strona] (https://metacpan.org/pod/Mojo::Server::Daemon#listen) ma pewne szczegóły konfiguracji. Chociaż możesz umieścić Apache lub Nginx przed hipnotoadem, to może nie działać dobrze, jeśli używasz websockets. –

Odpowiedz

5

Znaleziono jak to zrobić:

sub startup { 
my $self = shift; 
$self->secrets(['secretphrase']); 
$self->config(hypnotoad => {listen => ['https://*:443?cert=/etc/tls/domain.crt&key=/etc/tls/domain.key']}); 
+2

Skończyło się na tym, robiąc to z odwrotnym proxy nginx z przodu. – Sobrique