在我的小实验室中,我想使用 SSTP VPN 和 HTTPS 网页,这些网页应该可以从互联网访问。我只有 1 个公共 IP,实验室位于 NAT(端口转发 443)后面。SSTP 已经运行良好,我的网页也可以访问!但显然不是通过同一个端口:443!
当前基础设施:
[gateway <- windows server 2012 R2 with SSTP]
[webserver <- ubuntu server with apache and a single https webpage]
[router <- standard router which forwards the 443 to... one of the above]
有没有办法使用某种代理/反向代理/ssl 重定向来为两个服务使用 443 端口?你会怎么做?我希望在网关上配置一些东西来将所有非 sstp 流量(可能直接获取 http.sys?)重定向到 ubuntu 服务器...
任何想法?
答案1
显然,这个问题已经很老了,但如果您愿意重新考虑所选的 Web 服务器,这样做是可能的。显然,您已经拥有 Windows Server 2012R2 服务器,因此,为了降低复杂性,没有理由不能使用 IIS 8.5 来托管您的 https 站点。实际上,我自己将它与 SSTP VPN 一起使用,但我还在屏幕截图下方为您提供了另一个选项。
在 IIS 中设置站点后,在站点上创建 https 绑定以使用适合站点域名的主机标头 (Host name:)。这样 IIS 就知道将请求发送到哪个站点 - 是的,这意味着您也可以在 IIS 服务器上拥有多个 SSL 网站。我有一个具有多个主题备用名称 (SAN 证书) 的证书,我将其用于我的 SSTP VPN 和 IIS 服务器上托管的网站,但如果您愿意,您应该能够使用单独的证书。
您还应该调查 IIS 支持的服务器名称指示,尽管我的服务器上未启用它。
http://en.wikipedia.org/wiki/服务器名称指示
如果您迫切需要保留您的 Ubuntu 机器,请在 Windows Server 2012R2 服务器上安装 Web 应用程序代理角色(远程访问角色的子角色)(此角色是 2012 R2 中的新角色)。使用远程访问管理控制台(而非 RRAS 控制台)进行配置。使用直通发布 Web 应用程序,定义外部 URL(外部用户将输入并解析为您的外部 IP),然后定义内部 URL(Web 应用程序代理服务器可以解析为您的 Ubuntu 服务器的内部 IP(HOSTS 文件工作正常!))。使用您放在 Ubuntu 机器上的 SSL 证书,它会要求提供证书。您可以选择不在您的 Ubuntu 机器上定义 SSL,而是让 Web 应用程序代理服务执行 SSL 卸载。要记住的一件事是,您的 Web 服务器日志将显示 WAP 服务器的 IP,而不是用户的外部 IP。
有两个选择。就我个人而言,我会选择一台 IIS 8.5 服务器来尽量减少土地扩张 :)
-刘易斯
答案2
我认为有,但是您需要额外的 Windows Server 2012 R2:反向代理。您可以尝试此网站以了解如何操作: http://blogs.technet.com/b/rrasblog/archive/2007/03/07/configuring-sstp-in-a-reverse-proxy-scenario.aspx。
在这里您可以找到有关如何设置反向代理(称为 Web 应用程序代理)的博客 http://www.schmarr.com/Blog/Post/13/Installing-Reverse-Proxy-on-Windows-Server-2012-R2-(Web-Application-Proxy)。
来自 MS 自己的 technet 信息:technet.microsoft.com/en-us/library/dn584113.aspx。
因此目标是:您将端口 443 从 FW 转发到反向代理,并根据 FQDN,代理将请求转发到正确的服务器。
目前,我们有几个 https 服务器的 wap,但是暂时还没有尝试过 SSTP。
祝你好运。
答案3
您可以使用多路复用器实现此目的:http://www.unixmen.com/sslh-a-sslssh-multiplexer-for-linux/