我從一個節點的應用程序進行HTTPS連接,使用客戶端證書:配置HTTPS代理只允許TLS1.2傳出請求
var options = {
hostname: 'https://my-server.com',
port: 443,
path: '/',
method: 'GET',
key: fs.readFileSync('client1-key.pem'),
cert: fs.readFileSync('client1-crt.pem'),
ca: fs.readFileSync('ca-crt.pem') };
var req = https.request(options, res => {
[...]
});
一切工作正常,但我想添加代碼確保只允許TLS 1.2連接。我找不到任何方法在https.agent選項或其他地方配置此選項。是否有可能配置此,還是要我做一個連接,然後query the protocol版本,喜歡的東西:
res.socket.getProtocol() === 'TLSv1.2'
,如果協議不能令人滿意中止連接?
或者你可以使用nginx作爲反向代理終止您的TLS流量,以便屏蔽來自的NodeJS不必處理HTTPS尚未與外界通信通過https ...移除要求的的NodeJS複雜處理任何相關的TLS至關重要... nginx是配置驅動的,不需要編寫安全邏輯... nginx也可以處理WebSocket –
因此適用於傳出請求。 – JHH