Go 言語を使用して Web サービスまたはクローラーを構築する場合、多くの場合、HTTPS リクエストを処理する必要があります。場合によっては、開発環境でコードをデバッグする場合など、HTTPS をオフにする必要があります。この記事ではGolangを使ってHTTPSをオフにする方法を紹介します。
まず、HTTPS がどのように機能するかを理解する必要があります。 HTTPS (Hypertext Transfer Protocol Secure) は通信プロトコルであり、HTTP の安全なバージョンです。 HTTP はクリア テキストで送信されますが、HTTPS は SSL/TLS プロトコルを使用して暗号化された送信を行い、通信プロセス中の機密性とセキュリティを確保します。
HTTPS では、通信当事者間の送信に公開キー/秘密キー暗号化が使用されます。サーバーは秘密キーを使用してデータを暗号化し、公開キーをクライアントに送信します。公開キーを受信した後、クライアントはその公開キーを使用してデータを復号化します。そのため、秘密鍵を保持するサーバーのみがデータを暗号化し、クライアントは公開鍵を使用して復号することのみが可能となり、通信データの送信は非常に安全です。
次に、Golang で HTTPS をオフにする方法について説明します。
Golang で HTTPS をオフにするプロセスは比較的簡単で、TLS プロトコルの使用を停止するだけです。 HTTP サービスを開始する前に、多くの場合、tls.Config 構成を生成する必要があります。したがって、この tls.Config 構成を削除するだけで HTTPS をオフにできます。
http.HandleFunc("/hello", func(w http.ResponseWriter, r *http.Request) { w.Write([]byte("Hello, Golang!")) }) // 生成 SSL 配置,如果想要关闭 HTTPS,只需注释掉以下代码即可 config := &tls.Config{ MinVersion: tls.VersionTLS12, CipherSuites: []uint16{ tls.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, tls.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, tls.TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, }, } server := &http.Server{ Addr: "0.0.0.0:8443", TLSConfig: config, } // 使用 ListenAndServeTLS 启动 HTTPS 服务,如果要关闭 HTTPS,则改成 ListenAndServe 即可 log.Fatal(server.ListenAndServeTLS("server.crt", "server.key"))
上記のコードでは、server.crt と server.key の 2 つのパラメーターが listenAndServeTLS メソッド呼び出しで渡されていることがわかります。これら 2 つのパラメーターは、HTTPS を有効にすることができる SSL 証明書の作成に使用される公開キーと秘密キーです。証明書ファイルがない場合は、メソッドを ListenAndServe に変更して HTTPS をオフにします。
この記事では、Golang で HTTPS をオフにする方法を紹介します。 SSL 暗号化は、証明書ファイルなしで機密データを送信する場合には使用しないでください。運用環境では、セキュリティ制御のために他のセキュリティ メカニズムと組み合わせる必要があります。また、使用する場合は、実際の状況に応じてHTTPSをオフにするかどうかを選択する必要があります。
以上がgolangでhttpsをオフにする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。