提问人:Francisco Rascon 提问时间:11/15/2023 最后编辑:President James K. PolkFrancisco Rascon 更新时间:11/15/2023 访问量:51
Poco 库,HTTP 和 HTTPS 服务器
Poco Library, both HTTP and HTTPS server
问:
我想知道是否有可能拥有能够使用 Poco 库响应 http 和 https 请求的服务器。可能一种选择是运行 2 台服务器绑定不同的端口,有没有其他方法只使用 1 个端口?
我以前使用 Poco Library 1.09 实现了 https 和 http 服务器。
答:
0赞
Joseph Larson
11/15/2023
#1
这通常是通过建立一个 nginx 前端来代理请求来完成的。这种方式的优点是可以快速配置,并且人们使用nginx管理https的所有标准工具都适合您 - 例如证书管理。
这也隔离了您的程序。它不侦听公共地址,只侦听本地主机地址,从而减少安全攻击面。
或者,如果您打算在 AWS 或类似服务上托管,您可以让负载均衡器处理 https,而您的程序可以只担心 http。
评论
0赞
jabaa
11/15/2023
如何使用nginx将HTTPS和HTTP绑定到同一个端口?
0赞
Joseph Larson
11/16/2023
几乎可以肯定的是,无论他做什么,他都需要使用 2 个端口。但是浏览器已经分别需要 80 和 443,如果你不指定端口,就像我在代码中使用的所有 REST 工具一样。但也许你有更好的解决方案。这就是 Stack Overflow。你应该分享你的答案。
0赞
jabaa
11/16/2023
不,您不需要两个端口。您可以打开一个端口,分析数据包并确定它是 HTTP 数据包还是 HTTPS 数据包。问题是你是否可以使用POCO来实现它,我不知道答案。
0赞
Joseph Larson
11/16/2023
@jabaa 这听起来很有趣,但任何使用此 API 的人都会出乎意料。他的问题不需要 1 个端口,只是问是否可能。我知道如何提供HTTP / HTTPS的唯一方法很清楚 - 2个端口,通过Poco的两个侦听器或使用引擎。如果我这样做,我会使用概述的 nginx。
0赞
jabaa
11/16/2023
是的,问题问,如果可能的话,这似乎是唯一的问题。我在这里找不到答案。也许,这是一个学术或理论问题,但你的答案应该回答它。
评论