2012-10-18 29 views
15

OS: Ubuntu 12.04 64-bitOpenSSL không làm việc với PHP được xây dựng trong máy chủ web

phiên bản PHP: 5.4.6-2 ~ chính xác + 1

Khi tôi kiểm tra một trang https tôi đang viết thông qua máy chủ web tích hợp (php5 -S localhost: 8000), Firefox (16.0.1) cho biết "Sự cố khi tải: Kết nối bị gián đoạn", trong khi thiết bị đầu cuối cho tôi biết ":: 1: 37026 Yêu cầu không hợp lệ (SSL không được hỗ trợ yêu cầu)".

phpinfo() nói với tôi:

  • đăng ký Suối Ổ cắm bay vận tải: tcp, udp, unix, UDG, ssl, SSLv3, tls
  • [curl] SSL: Có
  • SSL Phiên bản: OpenSSL/1.0.1
  • openssl:

    Hỗ trợ OpenSSL: bật

    OpenSSL Library Version 1.0.1 OpenSSL 14 tháng 3 năm 2012

    OpenSSL Tiêu đề Version 1.0.1 OpenSSL 14 Mar 2012

Có, trang http chỉ làm việc tốt.

Bất kỳ ý tưởng nào?

+0

Có lẽ nên đi trên ServerFault. – quantum

+0

Không chính xác những gì bạn muốn, nhưng bạn có thể thử ngrok http://stackoverflow.com/a/23243958/632951 – Pacerier

Trả lời

31

Xem phần hướng dẫn về việc xây dựng trong shim webserver:
http://php.net/manual/en/features.commandline.webserver.php

Nó không hỗ trợ mã hóa SSL. Nó dành cho các yêu cầu HTTP đơn giản. Hỗ trợ chức năng mở rộng và chức năng openssl không liên quan. Nó không chấp nhận yêu cầu hoặc gửi phản hồi qua trình bao bọc luồng.

Nếu bạn muốn SSL để chạy trên nó, hãy thử một wrapper stunnel:

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

Nó chỉ cho toying anyway.

+1

Trường hợp nào tìm thấy phiên bản của stunnel có các tùy chọn này? Theo tài liệu trên stunnel.org, ứng dụng có sẵn không có tùy chọn "-d" hoặc "-r". –

+1

Sử dụng [stunnel3] (http://man.devl.cz/man/8/stunnel3). Có vẻ như 'stunnel4' chạy chủ yếu như daemon/thông qua iptables và yêu cầu một tập tin cấu hình để thay thế. – mario

+0

Ồ, tôi hiểu ... Chương trình stunnel3 Perl nằm ở đây: https://www.stunnel.org/downloads/stunnel3 (Mà cũng được bao gồm trong phân phối.) Cảm ơn bạn đã làm rõ. –

Các vấn đề liên quan