OS: Ubuntu 12.04 64ビット
PHPバージョン: 5.4.6-2〜precise + 1
ビルトインWebサーバー(php5 -S localhost:8000)を介して書き込んでいるhttpsページをテストすると、Firefox(16.0.1)は「ロードの問題:接続が中断されました」と表示し、端末は「:: 1 :37026無効な要求(サポートされていないSSL要求)」。
phpinfo()は私に伝えます:
openssl:
OpenSSLサポート:有効
OpenSSLライブラリバージョンOpenSSL 1.0.1 2012年3月14日
OpenSSLヘッダーバージョンOpenSSL 1.0.1 2012年3月14日
はい、httpページは問題なく動作します。
何か案は?
組み込みのWebサーバーシムのマニュアルセクションを参照してください。
http://php.net/manual/en/features.commandline.webserver.php
SSL暗号化はサポートしていません。プレーンなHTTPリクエスト用です。 openssl
拡張子と関数のサポートは無関係です。ストリームラッパーを介して要求を受け付けたり、応答を送信したりすることはありません。
SSLをSSLで実行したい場合は、stunnel
ラッパーを試してください。
php -S localhost:8000 &
stunnel3 -d 443 -r 8080
とにかく、いじるだけです。
私はnginxとLaravelを最近習得していて、このエラーが何度も出てきました。nginxをLaravelおよびオペレーティングシステムのSSL設定も同時に行います(自己署名証明書を作成している場合)。
Windowsを使用している場合、SSL証明書を処理するときにUNIXのキャリッジリターンと戦わなければならないため、さらに困難になります。場合によっては手順を正しく実行できても、証明書の検証の問題によって台無しになることがあります。トリックは、UbuntuまたはMacで証明書を作成し、自分にメールで送信するか、Linuxサブシステムを使用することです。
私の場合、私は[〜#〜] https [〜#〜]をどこかで宣言する問題に遭遇し続けましたが、php artisan serve
は[〜#〜] http [〜#でのみ機能します〜]。
SSLが正常に接続された後、このInvalid request (Unsupported SSL request)
エラーが再び発生しました。 Axios
を使用してPOST https://
へのリクエストを行っていたことがわかりました。これをPOST http://
に変更すると、修正されました。
誰にでも私の推奨は、場所と方法 HTTP/HTTPSが使用されていることを確認することです。
教科書の定義はおそらくphp artisan serve
のようなもので、HTTPでのみ機能しますが、基礎となるSSLレイヤーが必要です。