web-dev-qa-db-ja.com

ローカルホストでhttpsサーバーを作成する方法

以下のチュートリアルに従ってhttpsサーバーを作成しました https://docs.nodejitsu.com/articles/HTTP/servers/how-to-create-a-HTTPS-server/

そして、プログラムはエラーなしで実行されます

しかし、私が開くことができないとき https:// localhost:80 私のクロム

常にERR_SSL_PROTOCOL_ERRORを取得します

enter image description here

33
Littlee

これを行う簡単な方法の1つは、 ngrok を使用することです。

それは本当に使いやすく、実行するのに数秒しかかかりません。システムバージョンのダウンロードと同じくらい簡単です。 ngrok.exeを解凍して実行します。コマンドラインタイプのウィンドウが開きます。 Apacheサーバーまたは使用しているサーバーが実行されていることを確認してください。

次に、HTTPSトンネルエンドポイントでのみリッスンするには、次を実行します

ngrok http -bind-tls=true site.dev:80

またはhttpsをインストールする必要があるポートに。

ブラウザを開いてhttps://localhost/myAppと入力すると、機能することがわかります。

また、http://localhost/myAppと入力しても機能します。

これが誰にとっても迅速な解決に役立つことを願っています。

19
Balloon Fight

Caddyserver を次のような構成で使用します。

:443
tls self_signed
8
nemo

これがテスト用であり、有効な証明書が必要ない場合(「localhost」を使用しているためにそうです)、「自己署名」証明書を使用できます。それらに。

詳細を説明することはできましたが、実際にはデジタルオーシャンコミュニティチュートリアルにそれについての素晴らしい投稿があります。

https://www.digitalocean.com/community/tutorials/how-to-create-a-self-signed-ssl-certificate-for-nginx-in-ubuntu-16-04

8000でリッスンする場合は、必ずポート(443)を調整してください。

6
Mikec

Nodejsを使用している場合、httpsを有効にするために http-sever には-S or --ssl-C & -Kがあります

2
Qiulang

次の2つのことを行う必要があります。

  • 自己署名SSL証明書を生成し、
  • 信頼できる証明書に追加します

次のように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"
1
Ioanna