SSL 証明書が VPN によってブロックされていますか?

SSL 証明書が VPN によってブロックされていますか?

ポート 443 で https 経由で配信される Web サイトをホストするサーバーがあります。Web サイトはパブリック インターネットに直接公開されていませんが、トラフィックはパブリック IP を持つ EC2 インスタンスから VPN 経由でルーティングされます。

ウェブサイトには、EC2 インスタンス以外のホスト サーバー、同じ内部ネットワーク上のコンピューター、VPN 上のコンピューターからアクセスできます。

openssl s_client -connect www.mydomain.tld:443これらのマシンのいずれかからコマンドを発行すると、次の応答が返されます。

CONNECTED(00000003)
depth=2 C = US, O = Internet Security Research Group, CN = ISRG Root X1
verify return:1
depth=1 C = US, O = Let's Encrypt, CN = R3
verify return:1
depth=0 CN = cloud.hss.ac.uk
verify return:1
---
Certificate chain......
[Truncated for brevity]

ただし、EC2 インスタンス、または内部ネットワークや VPN ネットワークの外部のマシンから同じコマンドを発行すると、次の応答が返されます。

CONNECTED(00000003)

つまり、接続はできるのですが、SSL 証明書がないということですか?

Apache conf ファイルでログ レベルをデバッグに設定すると、SSL 証明書が提供されていることが示されますが、何らかの理由で EC2 インスタンスに到達しません。

EC2インスタンスは、IFtablesを使用して、ポート80と443の受信リクエストをホスティングサーバーにNATするだけです。設定は次のとおりです。/etc/nftables.conf

#!/usr/sbin/nft -f

flush ruleset

table ip nat {
    chain prerouting {
    meta nftrace set 1
        type nat hook prerouting priority -100; policy accept;

        iifname "eth0" tcp dport { 80, 443 } dnat to x.x.x.x
    counter
    }

    chain postrouting {
    meta nftrace set 1
        type nat hook postrouting priority 100; policy accept;

        masquerade
    }
}

これらはすべてポート 80 で正常に動作します。

アイデアが尽きてきたので、ここで探しています。

関係があるなら、VPN は Hamachi VPN です。

IP 転送が有効になっています:

sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1

関連情報