以下のチュートリアルに従ってhttpsサーバーを作成しました https://docs.nodejitsu.com/articles/HTTP/servers/how-to-create-a-HTTPS-server/
そして、プログラムはエラーなしで実行されます
しかし、私が開くことができないとき https:// localhost:80 私のクロム
常にERR_SSL_PROTOCOL_ERROR
を取得します
これを行う簡単な方法の1つは、 ngrok を使用することです。
それは本当に使いやすく、実行するのに数秒しかかかりません。システムバージョンのダウンロードと同じくらい簡単です。 ngrok.exe
を解凍して実行します。コマンドラインタイプのウィンドウが開きます。 Apacheサーバーまたは使用しているサーバーが実行されていることを確認してください。
次に、HTTPSトンネルエンドポイントでのみリッスンするには、次を実行します
ngrok http -bind-tls=true site.dev:80
またはhttps
をインストールする必要があるポートに。
ブラウザを開いてhttps://localhost/myApp
と入力すると、機能することがわかります。
また、http://localhost/myApp
と入力しても機能します。
これが誰にとっても迅速な解決に役立つことを願っています。
Caddyserver を次のような構成で使用します。
:443
tls self_signed
これがテスト用であり、有効な証明書が必要ない場合(「localhost」を使用しているためにそうです)、「自己署名」証明書を使用できます。それらに。
詳細を説明することはできましたが、実際にはデジタルオーシャンコミュニティチュートリアルにそれについての素晴らしい投稿があります。
8000でリッスンする場合は、必ずポート(443)を調整してください。
Nodejsを使用している場合、httpsを有効にするために http-sever には-S or --ssl
と-C & -K
があります
次の2つのことを行う必要があります。
次のようにmacOSでこれを行うことができました:
openssl req -x509 -out localhost.crt -keyout localhost.key \
-newkey rsa:2048 -nodes -sha256 \
-subj '/CN=localhost' -extensions EXT -config <( \
printf "[dn]\nCN=localhost\n[req]\ndistinguished_name = dn\n[EXT]\nsubjectAltName=DNS:localhost\nkeyUsage=digitalSignature\nextendedKeyUsage=serverAuth")
Sudo security add-trusted-cert -d -r trustRoot -k "/Library/Keychains/System.keychain" "/private/tmp/certs/certname.cer"