2012-10-18 6 views
15

OS: Ubuntu 12.04 64-bitOpenSSL nie pracuje z PHP wbudowany serwer WWW

wersja PHP: 5.4.6-2 ~ precyzyjny + 1

Kiedy testować stronę https I piszę przez wbudowany serwer WWW (php5 -S localhost: 8000), Firefox (16.0.1) mówi "Problem z ładowaniem: połączenie zostało przerwane", a terminal mówi mi ":: 1: 37026 Błędne żądanie (nieobsługiwany SSL żądanie)".

phpinfo() mówi mi:

  • Zarejestrowani Stream Socket Transports: TCP, UDP, UNIX, UDG, SSL, SSLv3, TLS
  • [curl] SSL: Tak
  • SSL wersja: OpenSSL/1.0.1
  • openssl: wsparcie

    OpenSSL: włączone

    OpenSSL biblioteki OpenSSL Wersja 1.0.1 14 marca 2012

    OpenSSL Wersja 1.0.1 OpenSSL Header 14 Mar 2012

Tak, strony http działać dobrze.

Wszelkie pomysły?

+0

Prawdopodobnie powinien przejść do ServerFault. – quantum

+0

Nie dokładnie to, co chcesz, ale możesz spróbować ngrok http://stackoverflow.com/a/23243958/632951 – Pacerier

Odpowiedz

31

Patrz instrukcja rozdział poświęcony wbudowanego serwera WWW podkładki:
http://php.net/manual/en/features.commandline.webserver.php

nie obsługuje szyfrowania SSL. Dotyczy zwykłych żądań HTTP. Rozszerzenie i obsługa funkcji openssl nie są powiązane. Nie akceptuje żądań ani nie wysyła odpowiedzi na opakowaniach strumieniowych.

Jeśli chcesz uruchomić SSL nad nią, spróbuj stunnel opakowanie:

php -S localhost:8000 & 
stunnel3 -d 443 -r 8080 

To tylko bawiąc tak.

+1

Gdzie można znaleźć wersję stunnel, która bierze te opcje? Zgodnie z dokumentacją na stunnel.org, dostępna tam aplikacja nie przyjmuje opcji "-d" ani "-r". –

+1

Użyj [stunnel3] (http://man.devl.cz/man/8/stunnel3). Wygląda na to, że 'stunnel4' działa głównie jako demon/via iptables i wymaga pliku konfiguracyjnego. – mario

+0

Och, widzę ... Program Perl Stunnel3 znajduje się tutaj: https://www.stunnel.org/downloads/stunnel3 (który jest również uwzględniony w dystrybucji.) Dzięki za wyjaśnienie. –