SSL 憑證被 VPN 封鎖?

SSL 憑證被 VPN 封鎖?

我有一台伺服器,託管透過連接埠 443 上的 https 交付的網站。

可以從主機伺服器、同一內部網路上的電腦以及 VPN 上的電腦(非 EC2 執行個體)存取網站。

從任何一台機器發出命令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 檔案上將日誌等級設定為 debug 顯示正在提供 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

相關內容