Create a Reverse Proxy in NodeJS that can handle multiple secure domains

后端 未结 6 1291
猫巷女王i
猫巷女王i 2021-02-04 17:09

I\'m trying to create a reverse proxy in NodeJS. But I keep running the issue that in that I can only serve one one set of cert/key pair on the same port(443), even though I wa

6条回答
  •  不思量自难忘°
    2021-02-04 17:21

    Let me dynamically server SSL certificates via domain header

    There is no domain header so I guess you mean the Host header in the HTTP request. But, this will not work because

    • HTTPS is HTTP encapsulated inside SSL
    • therefore you first have to do your SSL layer (e.g. SSL handshake, which requires the certificates), then comes the HTTP layer
    • but the Host header is inside the HTTP layer :(

    In former times you would need to have a single IP address for each SSL certificate. Current browsers do support SNI (server name indication), which sends the expected target host already inside the SSL layer. It looks like node.js does support this, look for SNICallback. But, beware that there are still enough libraries out there, which either don't support SNI on the client side at all or where one needs to use it explicitly. But, as long you only want to support browsers this should be ok.

提交回复
热议问题