ホームページ  >  記事  >  バックエンド開発  >  非標準の証明書ファイルを使用して Go Web サーバーで HTTPS を確立するにはどうすればよいですか?

非標準の証明書ファイルを使用して Go Web サーバーで HTTPS を確立するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-07 16:32:03766ブラウズ

How to Establish HTTPS on a Go Web Server Using Non-Standard Certificate Files?

非標準の証明書ファイルを使用して Go Web サーバーで HTTPS を確立する方法

提供されているドキュメントでは、3 つの .pem ファイルを連結することを推奨しています。ただし、これらのファイルがない場合は、所有している証明書ファイルを使用して HTTPS をセットアップする方法を次に示します。

中間証明書の結合:

通常、Go は1 つの連結された証明書ファイルが必要ですが、他のプラットフォームではルート証明書のみが保存されます。互換性を確保するには、中間証明書を連結します:

cat website.com.ca-crt website.com.ca-bundle > website.com.full-cert.crt

Go での HTTPS のセットアップ:

net/http/ListenAndServeTLS を使用して HTTPS を構成します:

import (
    "fmt"
    "log"
    "net/http"
)

func handler(w http.ResponseWriter, r *http.Request) {
    fmt.Fprintf(w, "Hello, %q", r.URL.Path[1:])
}

func main() {
    http.HandleFunc("/", handler)
    log.Printf("Listening on port 10443. Visit https://127.0.0.1:10443/")
    err := http.ListenAndServeTLS(":10443", "website.com.full-cert.crt", "private-key.pem", nil)
    log.Fatal(err)
}

追加の注意事項:

クライアントとサーバーの間の信頼を確立するには、中間証明書が必要です。完全な証明書ファイルを使用すると、すべてのブラウザおよびデバイスとの互換性が確保されます。

証明書の結合の詳細については、このリソースを参照してください: https://kb.wisc.edu/page.php?id=18923

以上が非標準の証明書ファイルを使用して Go Web サーバーで HTTPS を確立するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。