Goe*_*oez 6 linux ssl nginx reverse-proxy windows-server-2012
我正在尝试在 Windows 2k12 服务器上设置 Microsoft 远程桌面 Web 服务。这是功能齐全的,但是我想(需要)在它前面放一个反向代理(Nginx)。
我只有 1 个外部 ip(固定)并且我在它后面托管多个网站,而不是全部在同一个 VM 上。我设法让 Nginx 作为 HTTP 和 HTTPS 流量的反向代理,使用 vhosts。但是,对于远程桌面服务,SSL 卸载在启动应用程序时会给我带来问题。所以我想通过 Nginx 服务器传递流量,而不需要 SSL 卸载并让 Windows 服务器完成所有 SSL 的工作。似乎即使没有输入“ssl on;” Nginx 将来自另一个虚拟主机的证书放在 RD Web 的服务器部分。我的配置中的任何地方都没有“默认”块之类的东西。
这是设置的一个小“草图”:
-- |server 1 HTTP|
|internet user| -- |Nginx Rev Proxy listening on port 443| -- |windows server|
-- |server 2 HTTP|
Run Code Online (Sandbox Code Playgroud)
以下是我拥有的配置文件(用于 RD Web):
server {
listen 443;
server_name host.domain.com;
access_log /var/log/nginx/host.domain.com.access.log;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass https://172.29.0.249;
}
}
Run Code Online (Sandbox Code Playgroud)
我已经尝试让 Windows 服务器接受纯 HTTP 但这再次给远程桌面应用程序带来了问题。我可以登录并停止。我之前已经提到过,但是当我将防火墙上的端口 443 转发到 Windows 服务器时,远程桌面连接没有问题,所以这似乎不是问题。
这里的任何帮助将不胜感激。我是 Nginx 及其配置的新手(过去一直使用 apache)。
小智 12
今天,nginx 支持 ssl pass thru:https : //serversforhackers.com/tcp-load-balancing-with-nginx-ssl-pass-thru
小智 5
从版本 1.11.5 开始,nginx 支持具有 SNI 感知的直通 SSL 代理: http://nginx.org/en/docs/stream/ngx_stream_ssl_preread_module.html
nginx 无法在不终止 SSL 的情况下通过 SSL。在 nginx 前面使用 haproxy(至少有 1.5 版本),将 RD Web 流量代理到您的终端服务器,并将其他所有内容代理到 nginx。
归档时间: |
|
查看次数: |
13842 次 |
最近记录: |