linux – 如何通过单个端口处理加密和未加密的http连接

linux – 如何通过单个端口处理加密和未加密的http连接,第1张

概述请看下面的图表. 这怎么办? >当远程请求http:// myhost.com:8080/*时,请求应转发到侦听环回接口的端口8008的http服务器.这是简单的部分. >当远程用户请求http:// myhost.com:8080/specialurl … >充当应用程序级网关的程序应该能够将连接升级到加密会话(不更改端口) >在与远程浏览器建立加密会话后,它应该将请求转发到侦听环回接口的端口8 请看下面的图表.

这怎么办?

>当远程请求http:// myhost.com:8080/*时,请求应转发到侦听环回接口的端口8008的http服务器.这是简单的部分.
>当远程用户请求http:// myhost.com:8080/specialurl …

>充当应用程序级网关的程序应该能够将连接升级到加密会话(不更改端口)
>在与远程浏览器建立加密会话后,它应该将请求转发到侦听环回接口的端口8000的C程序

我的问题是:

>您是否曾在生产环境中部署过这样的解决方案?如果你有…
>您使用什么产品作为应用程序网关?
>你能提供一个配置示例吗?

硬限制:

>我无法控制防火墙,我可以通过它获得外部流量进入内部服务器的唯一端口是8080.端口号无关紧要,就是防火墙级别只有一个端口可以打开传入内部服务器的流量.
>内部服务器必须运行Linux(目前运行的是Debian Lenny)
>远程用户只需要当前的Web浏览器和Internet连接即可访问此服务器.这意味着通过SSH进行反向端口转发不是一种选择.
>我需要一种在生产中经过测试且可以轻松部署的产品.我不打算开发自己的应用程序网关(如果是这种情况,我想我会在Stack Overflow上问这个问题,而不是在Server Fault询问它).

软限制:

>我想避免将Apache作为应用程序网关(尽管如果它是唯一可能的选择,我愿意这样做)
>如果可能,应用程序网关应该是一个成熟的开源软件产品.

到应用程序网关尝试的产品(没有成功)

> Nginx
> lighttpd
>磅

相关的RFC

> RFC2817(…解释了如何使用http / 1.1中的升级机制在现有TCP连接上启动传输层安全性(TLS).这允许不安全和安全的http流量共享同一个众所周知的端口……)
> RFC2818(…描述了如何使用TLS通过Internet保护http连接.目前的做法是通过SSL(TLS的前身)层叠http,通过使用不同的服务器端口区分安全流量和不安全流量. .)

解决方法 One port to rule them all,显示某人至少在java世界中实现了它.

Have you ever deployed such a solution in a production environment?

我没有 – 我也不会建议它完成.作为顾问,我试图鼓励我的客户使用标准化和成熟的技术.除了边缘情况之外,没有任何系统似乎正确地实现了这些RFC – 这不是我想要建议或支持的东西.

总结

以上是内存溢出为你收集整理的linux – 如何通过单个端口处理加密和未加密的http连接全部内容,希望文章能够帮你解决linux – 如何通过单个端口处理加密和未加密的http连接所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1045165.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存