【发布时间】:2014-11-28 03:03:51
【问题描述】:
环境
考虑以下 Web 应用程序的生产环境设置:
最终用户 --Internet--> DMZ 中的 Web 服务器 --防火墙--> 托管在应用服务器上的 WCF --> DB 服务器
约束:
还要考虑到,从基础架构的角度来看,我们无法更改任何内容。例如,打开端口、更改任何防火墙设置等。
问题:
我们希望将托管在应用服务器上的 WCF 公开给外部客户端。我们正在尝试通过以下方式解决这个问题:
最终用户 --Internet--> DMZ 中的路由器 WCF --防火墙--> 托管在应用服务器上的 WCF --> DB 服务器
请注意,我们无法从需要托管 WCF 的 DMZ 环境建立数据库连接,以便外部客户端可以使用它。我们开发了一个“Router WCF”,它将所有消息传递到内部 WCF,反之亦然。
此解决方案增加了序列化和反序列化数据的不必要开销。必须有更好和正确的方法来做到这一点。我们期待社会各界的指导。谢谢。
【问题讨论】:
-
打开防火墙端口?还是我缺少要求
-
请不要只求我们为您解决问题。向我们展示您如何尝试自己解决问题,然后向我们确切地展示结果是什么,并告诉我们您为什么觉得它不起作用。请参阅“What Have You Tried?”了解您真正需要阅读的优秀文章。
-
先生。桑德斯,我感谢你对教育我的热情。我从来不知道在提问之前“尝试”某事是要求之一(我仍然不明白为什么)。这似乎与“为什么要重新发明轮子”的说法相矛盾。我认为这就是像 stackoverflow 这样的网站所擅长的。 “分享知识”。但是,在这种情况下,我提到了我们正在考虑如何解决这个问题,并希望人们在我花费数小时的努力做一些不正确的事情之前验证我的想法是否正确。