0
https.requestを使用しており、リクエストのSNI(Server Name Indication)を完全に無効にしたいと考えています。これを行う方法はありますか?ノード内のリクエストに対してSNIを無効にするにはどうすればよいですか?
https.requestを使用しており、リクエストのSNI(Server Name Indication)を完全に無効にしたいと考えています。これを行う方法はありますか?ノード内のリクエストに対してSNIを無効にするにはどうすればよいですか?
私はカスタムに.createConnection
機能を作成することによって、それを行うための方法を見つけた
var tls=require("tls")
var https=require("https")
var options={
host:"example.com",
port:443,
path:"/"
}
var agentOptions = {
rejectUnauthorized: true //this option disables certificate verification when it is false, you may need to disable it to connect to a server without having SNI enabled
}
var agent = new https.Agent(agentOptions)
agent.createConnection=function(options,callback){
options.servername=undefined //setting servername to undefined disables SNI
return socket=tls.connect(options,callback)
}
options.agent=agent
request=https.request(options,function(response){
response.on("data",function(data){
console.log(data.toString())
})
})
request.end()