はじめに
表題の通り。うまくいかない場合にやったことや試すことを整理
②送信したPOSTがタイムアウト...
下記前提条件を踏まえて調査
- httpだとタイムアウトが発生しない
- 5分後にサーバ側でネットワーク切断
【参考サイト】
◆static-DHによるSSL/TLS
https://qiita.com/angel_p_57/items/8ca86cc0ec0ca3a27105
※openssl sess_id
◆13.4.2. セッションのタイムアウト
https://access.redhat.com/documentation/ja-jp/red_hat_certificate_system/9/html/planning_installation_and_deployment_guide/session_timeout
◆Docker for WindowsでSSL検証環境を構築する
https://qiita.com/dai-andy1976/items/632f41261088f58cf3f0
①RestAPIを投げてみる...
下記エラーが表示されて失敗したのをきっかけに調査
- 「要求は中止されました: SSL/TLS のセキュリティで保護されているチャネルを作成できませんでした」
- 「接続が切断されました: 送信時に、予期しないエラーが発生しました」
# 現在のサーバーの証明書ポリシー表示
[System.Net.ServicePointManager]::CertificatePolicy
# 証明書チェックの無効化
add-type @"
using System.Net;
using System.Security.Cryptography.X509Certificates;
public class TrustAllCertsPolicy : ICertificatePolicy {
public bool CheckValidationResult(
ServicePoint srvPoint, X509Certificate certificate,
WebRequest request, int certificateProblem) {
return true;
}
}
"@
[System.Net.ServicePointManager]::CertificatePolicy = New-Object TrustAllCertsPolicy
# 現在のセキュリティプロトコル表示
[Net.ServicePointManager]::SecurityProtocol
# 利用可能なセキュリティプロトコル表示
[enum]::GetNames([Net.SecurityProtocolType])
# セキュリティプロトコル変更
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
# POST送信はこちらで
# ◆WebAPIのPOSTをコマンドで実行して結果をjsonで受けたい
# https://qiita.com/wakasama_pcmaster/items/4e00b3d83cdf97c613c1
【参考サイト】
◆PowerShellでSplunkのREST APIにリクエストを投げる方法について
https://qiita.com/bashi100kmrun/items/1bdadbdfb136cd705bb3
◆「Invoke-WebRequest」コマンドレットをTLS 1.2対応にする2つの方法
https://atmarkit.itmedia.co.jp/ait/articles/1909/25/news009.html