非標準の証明書ファイルを使用して Go Web サーバーで HTTPS を確立する方法
提供されているドキュメントでは、3 つの .pem ファイルを連結することを推奨しています。ただし、これらのファイルがない場合は、所有している証明書ファイルを使用して HTTPS をセットアップする方法を次に示します:
中間証明書の結合:
通常、Go では1 つの連結された証明書ファイルが必要ですが、他のプラットフォームではルート証明書のみが保存されます。互換性を確保するには、中間証明書を連結します:
cat website.com.ca-crt website.com.ca-bundle > website.com.full-cert.crt
Setting 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
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3