非標準の証明書ファイルを使用して 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 サイトの他の関連記事を参照してください。