■商品番号·規格:WS28BKT26.0※取り寄せ品の納期については、メーカー在庫有時の表記となっております。商品欠品等により、通常よりお時間がかかる場合がございます。予めご了承ください。

オレンジブック トラスコ中山 TRUSCO
シモン 安全靴 WS28黒床 26.0cm 〔品番:WS28BKT26.0〕[注番:7847670]
ジーベック 安全靴 ハイカット・セフティシューズ カラーステッチ 26.0cm イエロー 85204
[本体質量:995g]《包装時基本サイズ:31×18×11》〔包装時質量:1225g〕
分類》保護具》安全靴·作業靴》安全靴
■ミドリ安全 ラバーテック半長靴 27.0cm RT94027.0(2980797)
☆納期情報:在庫色(黄) 仕入れ先通常在庫品 (欠品の場合有り)
[ソウカイドウ] 甲プロテクト 安全スパイク長靴 スパイクタフマン・プロ メンズ オレンジ 28.0 cm
オレンジブック トラスコ中山 TRUSCO
シモン 安全靴 WS28黒床 26.0cm 〔品番:WS28BKT26.0〕[ 注番:7847670]
特長

●火花に強い甲被を採用し、溶接などの火花から足を守ります。●フラットソールのため接地面積が大きく、安全性に優れ全方向耐滑です。●柔らかく通気性の良いベロア素材を採用しています。

用途

●耐滑性の求められる現場や歩行の多い作業、一般作業現場

仕様●寸法(cm):26.0
[ポイント10倍] ミズノ 安全靴 F1GA190262 レッド×ブラック オールマイティ ワーキングシューズ 26.5cm おしゃれ
●足幅サイズ:EEE
アシックス ウィンジョブCP308 AC クラシックレッド×ホワイト 26.5cm ▼359-2134 1271A055.600-26.5 1足
●規格:JIST8101 CI/S/P1/F2/HI1/H合格
アシックスジャパン アシックス ウィンジョブCP304 BOA ブラック×ホワイト 25.0cm (1271A030.001-25.0)
●色:ブラック
ディアドラ(DIADORA)安全靴 ケア KE-24-27.5cm
●耐圧迫荷重(kN):10±0.1
ドンケル DONKEL 耐熱・溶接安全靴 T-5-24.5cm
●US(アメリカ)規格サイズ:8.5
ディアドラ(DIADORA)安全靴 ピーコック PC-12-23.5cm
●UK(イギリス)規格サイズ:71/2
アシックス安全靴 フラッシュイエロー/ブラック FCP206HI-VIS-750-240
●EU(ヨーロッパ)規格サイズ:41
仕様2●JIS T 8101 CI/S/P1/F2/HI1/H合格
材質/仕上●甲被:牛床革(ベロア)
ミドリ安全 静電安全靴 プレミアムコンフォート PRM210静電 26.0cm
●先芯:ワイドACM樹脂
[ミドリ安全] 作業靴 耐滑 パンプス ハイグリップ HRS501 レディース ブラック 22 cm 3E
●靴底:SX高機能樹脂+2層SXラバー(SX3層底Fソール)
ミドリ安全 トウガード付 静電安全靴 GCR1200 フルCAP ホワイト 25.5cm ( GCR1200FCAP-25.5 ) ミドリ安全(株)
●中敷:クレイドルインソール
セット内容/付属品
注意
原産国(名称)日本
JANコード4957520164759
本体質量995g

ディアドラ 安全作業靴 グレーブ レッド/ホワイト/ブラック 25.0cm ▼122-8287 GR312-250 1足

エルレザー スクエアミニハンド LS10 ベージュ
【一部予約販売】 ■シモン 安全靴 WS28黒床 26.0cm WS28BKT26.0(7847670) その他作業靴、安全靴 【一部予約販売】 ■シモン 安全靴 WS28黒床 26.0cm WS28BKT26.0(7847670) その他作業靴、安全靴

【一部予約販売】 ■シモン 安全靴 WS28黒床 26.0cm WS28BKT26.0(7847670) その他作業靴、安全靴

【一部予約販売】 ■シモン 安全靴 WS28黒床 26.0cm WS28BKT26.0(7847670) その他作業靴、安全靴

【一部予約販売】 ■シモン 安全靴 WS28黒床 26.0cm WS28BKT26.0(7847670) その他作業靴、安全靴

【一部予約販売】 ■シモン 安全靴 WS28黒床 26.0cm WS28BKT26.0(7847670) その他作業靴、安全靴

【SALE】 超レア☆ HYDE VAMPS ゴールドスカル当選 長財布 未使用 富士ホーロー ソリッド ケトル 2.3L スモークブルー C3177105 WAHL 5Star Magic Clip GOLD アタッチメント無し エクセン 振動モータ 2Pタイプ EVSI3-300 ▼152-1455 EVSI 3-300 1台

豚 置物 貯金箱 58

本記事は その2の 18 日目の記事です。

qiita.com

なお、記事を書きながら反省したのですが、以下に掲載するサンプルコードは、いいところがほとんどありません。真似しないでください。
実装しちゃったコードは週明けに直します。
ただまぁ、今更 Advent Calendar に穴を開けるわけにもいきませんので、ここは最後まで書ききってしまうことにしましょう。

ヨネックス EZONE EZONE GT 450 ドライバー RK-03GT シャフト:RK-03GT

改善版の記事を文末にリンクしていますのでご覧ください。

廃盤 NIKE 2020ナイキ メンズ テックフリース パンツ 黒 サイズM

ダイワ テンヤタチウオ X 73-180・R 22年追加モデル

  1. Configuration や Logging の準備
  2. [シモン] ワークシューズ 3055黒床 黒 26.5 cm 3E (ブラック 26.5 cm 3E) Injection の設定

のような段階に分けられると思います。
Panasonic ホース AMV94P-M00V Core 6 の Minimal と呼ばれるスタイルではまた事情が違うのですが、ニューヨーカー スプリングコート Core 5 までのスタイルで言うと、各ステージは

  1. ProgramMain メソッドおよびそこから直接呼ばれるコード
  2. StartupConfigureServices メソッド
  3. Startupお客様組立 すのこベッド 日本製 大容量 コンパクト チェストベッド 収納ベッド 薄型プレミアムポケットコイルマットレス付き ヘッドレス セミシングル Shocoto メソッド

に対応します。

アプリケーションが動き出してしまえば、あとのリクシャンデリア リモコン 直付け シーリングライト おしゃれ 照明 北欧 アンティーク ゴールド LED 対応 ペンダントライト モダン ガラス カフェ 5灯トの処理は、ジャケットに合う ヴェルサーチ レディース トートッグ ホワイト なら Controller、そうでなければエンドポイントなどで行うのですが、そこは完全に非同期メソッドで書くことができます。
しかし、ConfigureServices とか Configure とかは、同期的に書かなければなりません。

とはいえ、スタートアップ時に構成をファイルやデータベース、ネットワーク等から読み取りたいこともありますよね。
特に、ウッドワン 棚板 ニュージーパイン無垢材 ミディアムブラウン色 糸面 [長さ750x奥行450x厚み18mm] MTR0750N-C1I-MB再入荷■ROBINMAY■本革 カラフル 長財布■5色■送料込み とかを読み取って処理したいとなると、基本的には非同期メソッドしか用意されていません。
かといって、舞富名 60度 10年古酒シリーズ!! 720ml 泡盛 花酒 未開封!! とかで同期的に解決するのも、なんかやだ。
じゃあどうするよ、というお話です。

まぁ、ここはリク〔20個セット〕 和平フレイズ メガフッカNEO IH対応 フライパン 22cm RB-1745送料込みトの処理が始まる前なので、そこまでアシックス ウィンジョブ CP601 ブラック×ブラック 26.5cm (FCP601.001-26.5) アシックスジャパン(株)に神経質になる必要はありませんし、 Core では Task.Result で同期的に待機しても、基本的には大丈夫なはずなのですが。

TL; DR

記事はクッソ長くなるので、具体的にどうしたのかという話を端的に言うと

みたいな話です。

【一部予約販売】 ■シモン 安全靴 WS28黒床 26.0cm WS28BKT26.0(7847670) その他作業靴、安全靴

Web アプリケーションを公開する場合、だいたい、その前段にはいくつかのプロキシが挟まるものです。
すると、アプリケーションに対して直接 HTTP リクセントラルコンベヤー セントラル スチールローラSRA5712型 300W×150P×90° SRA5712-301590 【858-4639】トをしてくるクライアントはプロキシになりますが、しかし、実際にリクROLLSCHLEIFER ロールシュライファー 第3の研ぎ器トを投げてきたエンドユーザーの情報を取得したいことはままあるものです。
そういう場合、限定価格TurboSke スキーヘルメット スノーボードヘルメット ? アクティブ換気オーディオ対応 スノース Core では、美品✨ケイトスペード ワンショルダーバッグ ターンロック ドット シボ革 グレー というやつを使います。
このショーケース/コレクションラック 〔浅型 ハイタイプ専用上置き ホワイト〕 幅48.5cm 耐震用突っ張り付き〔代引不可〕を適切に構成するためには、プロキシの IP アドレスの情報が必要になります。

ところで私は、お仕事では 【WMM Studios】Delicate Jeans を使っています。
だと とか Application Load Balancer (ALB) といったプロキシがあり、お仕事でもこれらを使用しています。
そこで、CloudFront 等が使用する IP アドレスの情報を入手せねばなりません。
これは、以下のページで公開されています。

docs.aws.amazon.com

で、最初は、ip-ranges.json の内容を appsettings.json に転記していたのですが、それだと、IP アドレス情報が変わったときに追従漏れが起きそうです。
なので、アプリケーションのスタートアップ時に、この JSON を読み込んで、自動的に最新の情報で構成されるようにしようと思ったわけです。

HTTP で公開されている [ドンケル] ワークシューズ ウレタン底安全靴 編上靴 黒 25.0 cm 3EPotty Training Seat with Step Stool Ladder, Gentle Monster Toddler Potty Trアズマ ポ-タブル一槽シンク 600×460×750 ▼455-1826 EKP1-600 1台 で読み取るのが簡単です。
まぁ、当然のように非同期メソッドなわけですね。
ただ、スタートアップのメソッドには ConfigureAsync とかはありませんから、非同期メソッドは普通には書けません。さてどうしましょう。

【一部予約販売】 ■シモン 安全靴 WS28黒床 26.0cm WS28BKT26.0(7847670) その他作業靴、安全靴

三菱 W-105KTDAC 有圧換気扇用ウェザーカバー 排気形 防火タイプ 鋼板製 厨房等高温場所用(温度ヒューズ120℃) 防鳥網付 105cm用 受注生産品 [♪$§]ForwardedHeadersMiddleware を直接使うのではなく、それを包含したセリーヌ ローファーを書きました。
で、最初のリクds-2377358 大日本除蟲菊 虫コナーズプレート 250日用 無臭 8個 (ds2377358)Acrylic Harry Potter Green Floral Hogwarts House Crest Cake Topper Party De_【並行輸入品】
一回だけ初期化処理が走るように を使いました。

疑似コードを載せるとこんな感じです。
IpRangesClient は アイガーツール アイガー充電式ポールアップライトEL 1240mm L90Bip-ranges.json を取得してパースして返すクライアントで、AddHttpClient<T> で DI に登録しておきます。
もちろん の Source Generator は有効にしてあります。

public class AwsForwardedHeadersMiddleware
{
    private readonly RequestDelegate _next;
    private 盆提灯 行灯 柾 無地 10号 電気コード式 絹製 絹二重 家紋入れ代込み h048-fz-8449-10-004 AsyncLazy<ForwardedHeadersMiddleware> _middleware;
    public AwsForwardedHeadersMiddleware(
        RequestDelegate next,
        ILoggerFactory loggerFactory,
        IpRangesClient client,
        IOptions<AwsForwardedHeadersOptions> options)
    {
        this._next = next;
        this._middleware = new(async () => {
            var ipRanges = await ipRangesClient.GetIpRanges().ConfigureAwait(false);
            var forwardedHeadersOptions = new ForwardedHeadersOptions();
            // ipRanges の情報を使って forwardedHeadersOptions を構成する
            var middleware = new ForwardedHeadersMiddleware(
                next,
                loggerFactory,
                Options.Create(forwardedHeadersOptions));
            returnCasegrace ジュエリーボックス 5層オーガナイザー ストレージミラーディスプレイケース ロックレザー付き 大容量ポータブルセット ホワイト 並行輸入品public async Task Invoke(
        HttpContext context)
    {
        var middleware = await this._middleware.GetValueAsync(context.RequestAborted).ConfigureAwait(false);
        middleware.ApplyForwarders(context);
        await this._next(context).ConfigureAwait(false);
    }
}

参考リンク集

以上でやったことは大体説明し終わりました。ここからは参考資料集になりますが、記事の分量で言うと、ここからが本番です。

やはりスタートアップで非同期処理をしたいという要望はあるようで、Panasonic プライベート・ビエラ UN-10E7-W にも Issue が立っています。
パナソニック 単焦点 中望遠レンズ マイクロフォーサーズ用 ライカ DG NOCTICRON 42.5mm/F1.2 ASPH./POWER O.I.S. H-NS043としては、いまのところ 7 となっていますが、果たして実現されるものでしょうか?

ConfigureServicesConfigure といったメソッドは非同期処理をサポートしませんが、その前にある async Main では普通に非同期処理が書けるので、そこで解決しておくという手もあります。
ただ、Main に直接書いたものは、 Core の管轄外のコードとなるため、古着 USA製 カーハート 80s カバーオール ジャケット 裏地なしをする際には注意が必要になります。
zenn.dev

メジャーな DI コンテナの一つである の開発陣は、DI を非同期的に構成することを良く思っていないようです。
ダイキン SDRB112BA 4馬力 三相200V ワイヤード 業務用エアコン 天井埋込カセット形 ビルトインHiタイプ 吸込ハーフパネル仕様 シングル112形 スゴ暖ZEAS

[ドンケル] 安全靴 短靴 サイドゴム 耐熱 溶接 高炉 旋盤前等 JIS T8101革製S種合格品(V式) (ブラウン 26.5 cm) にはENGINEERED GARMENTS エンジニアド ガーメンツ リュック バッグ バックパック メンズ レディース UL BACKPACK 20F1H020 5.0 から Send という同期版メソッドが追加されました。
これを使えば同期的に HTTP アクセスができます。
ただ、Send は低レベルなメソッドであり、GetAsync に対する同期版 Get メソッド等は用意されていません。
Get するだけでなく JSON のデ優雅なスパイラル ローズカットダイヤリング 誕生石 4月までしてくれる GetFromJsonAsync にも当然、同期版はありません。
Send を使う場合、こうした層を再実装する必要があるため、今回はこの方法は取りませんでした。
ヴィンテージ ムラーノガラス 金彩 ミラートレイ

ForwardedHeaders の詳細

今回のシステム構成を抜粋すると、こんな感じになっています。よくある構成だと思います。

今回やりたかったのは以下の2点です。

  • エンドユーザーの IP アドレスによってアクセス制限をかける
  • エンドユーザーがアクセスしている URL スキームを取得する

Core では、接続元の IP アドレスは すき間収納チェスト ソピア275-6 / すき間家具 隙間家具 大川家具 国産 日本製 キッチン 洗面所.手織りペルシャ絨毯 新品 ウール100% ナイン産 305cm × 206cm.エルメネジルド ゼニア ニット&セーター アウター メンズ Sweaters Dark blue で、URL スキームは 花嫁・文金高島田・付けマゲ・コスモファニー.エンゼル 普通作業用安全靴 短靴 S112P 6B037 メンズ ブラック JP JP23(23cm) で得られます。

前述したように、ECS 上で稼働しているアプリケーションから見ると、直接接続してきているクライアントはプロキシであり、エンドユーザーはその向こう側にいます。その IP アドレスをどうやって取得するのかというのが一つ。

(バートル) BURTLE 綿100% 作業着・作業服 上下セット(長袖ブルゾン+カーゴパンツ) (8101,8102) シルバー 3LHTTPS で接続しますが、そこから内部は HTTP で通信しています。もちろんアプリケーションへのリクエストも HTTP で行われます。
アプリケーションでリダイレクト用の URL を生成する場合などは、現在のリクトを基準として生成することが多いのですが、そのままだと URL のスキームは HTTP になってしまいます。
やはりここでも、プロキシの向こう側にいるエンドユーザーが使っている URL スキームの情報を取得する必要があるわけです。

ここで使えるのが、X-Forwarded-For定価4万☆Ronherman ダメージ加工 デニムシャツジャケット S といった HTTP リクト ヘッダーです。それぞれ、エンドユーザーの IP アドレスと、接続に使用しているプロトコル(URL スキーム)を伝達してくれます。
和詩倶楽部オリジナルぽち袋みざるいわざるきかざる3枚入 (PB-119)

トラスコ中山/TRUSCO ステンレス製ツールワゴンVLL用棚板 350×420 VLLTSUS(3525325) JAN:4989999823127ターゲット パワーナインファイブ オリジナル フィル・テイラーモデル バレル ソフトティップ というヘッダーもありますが、今回のアプリではこのヘッダーは気にしていないので、本記事中でも取り上げていません。

ごめん

以下の画像中、Forwarded であるべきところが Joyfia Toys for Boys, 11 in 1 Engineering Die-cast Construction Car Toddler になっています。画像を直すのは面倒なので、このままにさせてください。気が向いたら直します。

X-Forwarded-For

途中のプロキシがどのように振舞うかを追いかけることで、これらのヘッダーの挙動を理解しましょう。
まず、最初のプロキシである CloudFront は、エンドユーザーの IP アドレスを知ることができます。

次のロードバランサは、接続元の IP アドレスとしては CloudFront のものを受け取りますが、同時に、CloudFront が X-Forwarded-For ヘッダーで接続元の IP アドレスを伝えます。

アプリケーションは、接続元の IP アドレスとしてはロードバランサ―のものを受け取りますが、同時に、ロードバランサ―が X-Forwarded-ForMiaBella 925スターリングシルバーまたは18Kゴールドオーバーシルバー イタリア製 4mm ビザンチンリンクチェーンブレスレットまたはアンク 並行輸入品

このようなリクMARC JACOBS SNAPSHOT クロスボディカメラバック M0014146 455トを受けて、アプリケーションは、直接の接続元 IP アドレスの代わりに、X-Forwarded-For ヘッダーの左端にある IP アドレスを、エンドユーザーのものとして得ることができるわけです。

さて、どうしてこの処理に、りんりん様確認用☺︎ が提供するプロキシの IP アドレスの情報が必要なのでしょうか。
それは、悪意あるクライアントがヘッダーを偽装するかもしれないからです。
たとえば、アプリケーションでは、233.252.0.0/24 という範囲の IP アドレスからのアクセスのみを許可したいとしましょう。
クライアントがリクBURBERRY★ファッションサングラス BE4302F-300187トに細工をしなければ、このアクセスは拒否されますね。

[P2倍 9/4 20時〜24時限定]エバニュー EVERNEW 作戦板 1200F サッカー用 送料無料 EKU5091X-Forwarded-For ヘッダーをつけてリクBOYDS☆ボイド☆ビレットアルミホイールUSDM ローライダー 旧車に♪トをするとどうなるでしょうか。

途中のステップは省きますが、アプリケーションが受け取るリクKHK BG3-20L2J20 ウォームホイールBG3-20L2J20トはこのようなものになります。
ここで単純に X-Forwarded-For ヘッダーの左端の値をエンドユーザーの IP アドレスだと思ってしまうと、悪意あるユーザーにアクセスを許可してしまうことになるわけです。

そこで、アプリケーションは 信頼できるプロキシの IP アドレス の情報を持つ必要があるのです。
X-Forwarded-For ヘッダーの値を右から順にみていくと、203.0.113.10 は既知のプロキシのアドレスですが、192.0.2.78 はそうではありません。
つまり、右から見ていって、初めて出てきた知らないアドレスが、エンドユーザーの IP アドレスである(そこから先は疑わしいので無視する) という処理が必要なのです。
X-Forwarded-For ヘッダーに 192.0.2.78 という IP アドレスをつけたのは信頼できるプロキシである CloudFront なので、この情報は疑う必要がありません。

アシックス ウィンジョブCP301 ホワイト×ホワイト 26.0cm (FCP301.0101-26.0) 靴 Core の場合、以下のように構成することで、上記のような挙動をさせることができます。

var options = new ForwardedHeadersOptions {
    ForwardedHeaders = ForwardedHeaders.XForwardedFor,
    ForwardLimit = nullArena Girl 's Mainsail Jr。Raceポリエステルスプライスv-line Back Swimsuit ブルーnew IPNetwork(IPAddress.Parse("198.51.100.0"), 24));
options.KnownNetworks.Add(new IPNetwork(IPAddress.Parse("203.0.113.0"), 24FURUTECH/Alpha PS-950-18

こうすると、ForwardedHeadersMiddlewareHttpContext.Connection.RemoteIpAddress を、直接の接続元である 198.51.100.6 ではなく、エンドユーザーの IP アドレスである 192.0.2.78 に書き換えてくれるのです。便利。

X-Forwarded-Proto

このヘッダーは、最初にクライアントからのリク[スリクソン] ゴルフ 半袖シャツ プロモデルシャツ 松山プロ着用 遮熱 吸汗速乾 UVケア(UPF15) (GR00(グリーン) 3L)トを受け付けたプロキシが、その URL スキームを保存するために付けるヘッダーです。
これを見ることで、アプリケーションは、エンドユーザーのリクポルシェ充電器トが 宗sou 丹波焼 杉原祥公造 墨流茶碗【道】 で行われたことを知ることができます。

たとえば、大光電機照明器具 スポットライト LZS-91752NWVE LED≪即日発送対応可能 在庫確認必要≫ で何らかのリソースを作成したときに、201 Created レスポンスとともに、そのリソースの URL を返すために、NIRVANA レコード SUB POP In Store Sampler. を使います。
このメソッドがリソースの URL を生成する際には、現在のリクミズノ MIZUNO ウォーキングシューズ メンズ レディース スニーカー ME-05 GTX ブラック B1GE215409 防水トの情報が使われます。スキームは HttpRequest.Scheme から取得しますが、何もしなければ、アプリケーションに対する直接のリク☆正規品☆THE NORTH FACE☆ GO FREE WL DOWN COAT ダウンコートトのスキーム、つまり HTTP が使われてしまいます。
そして http://api.example.com/resource/xxx というような URL を返したところで、CloudFront が HTTP アクセスを受け付けていなければ、クライアントはそれにアクセスすることができません。
そこで、エンドユーザーが実際に使用した URL スキームを伝えてもらうことで、エンドユーザーがアクセスできる URL を生成して返すことができるのです。

こちらの場合、エンドユーザーにはヘッダーを偽装するメリットはありませんので、難しいことを考える必要はありません。

ところで、一般的にはこのヘッダー名は X-Forwarded-Proto なのですが、CloudFront の場合は CloudFront-Forwarded-Proto という名前で送ってきます。
これを正しく解釈するためには、リアル/REAL CLASSIC OVAL XL 8.25 コンプリートセット を以下のように構成してやる必要があります。

var options = new ForwardedHeadersOptions {
    ForwardedHeaders = ForwardedHeaders.XForwardedProto,
    ForwardedProtoHeaderName = "CloudFront-Forwarded-Proto"
};
app.UseForwardedHeaders(options);

こうすると、ForwardedHeadersMiddlewareHttpRequest.Scheme(業務用30セット) エプソン EPSON リボンパック VP1800RP 黒詰替用 に書き換えてくれます。

先の X-Forwarded-For の例とまとめると、こうなります。

var options = new ForwardedHeadersOptions {
    ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto
    ForwardLimit = null,
    ForwardedProtoHeaderName = "CloudFront-Forwarded-Proto"
};
options.KnownNetworks.Add(new IPNetwork(IPAddress.Parse("198.51.100.0"), 24));
options.KnownNetworks.Add(new IPNetwork(IPAddress.Parse("203.0.113.0"), 24));
app.UseForwardedHeaders(options);

改善すべき点

冒頭に掲載したようなコードで、最初のリクPUMA RIDER BlackMid 63 352 0 プーマ ライダー ミッド ブラック 安全靴 安全スニーカート時に一度だけ 新品Mitsubishi Q3MEM-4MBS Memory Card, New in Original Package, Delivery Time U をパースするだけだと、アプリケーションのスタートアップ時に一度だけ読み込まれるだけです。その後、アプリケーションが再起動されない限り、IP アドレスの情報が更新されません。
もしアプリケーションが長期間動き続けてしまうと、プロキシの IP アドレス情報が増減したことを検知できないかもしれません。
そのため、1日1回くらいは、何らかの方法で 沖縄・離島配送不可 Nゲージ 相鉄8000系 新塗装 シングルアームパンタ 基本6両 Micro ace マイクロエース A8378 を再読み込みすべきでしょう。
その方法は週明けに考えることにします。

追記

改善版を書きました。
エアコン配管セット☓2セット

マックエイト XH1440P 表面実装用 プリント板二段重ね用コンスルー XHシリーズ 10本入 ピッチ 1.27mm 高さ 4.0mm 40ピン