我一直在寻找解决方案已经有好几个小时了。我对Nginx也很陌生,所以如果有人可以帮我一个演示配置,那就太棒了。
现状:
现在,我们需要在apps.domain.org上使用https / SSL。 我们的防火墙只检查IP地址并转发流量。
基本上,我的想法是将所有流量都转到Nginx。 在那里,我需要知道mail.domain.org的内容并将其重定向到Exchange。具体来说,我需要一切才能工作。 OWA,自动发现:好的。但我正在努力解决似乎 RPC 的问题。
有人提到我应该在Nginx中使用流配置来管理它。
但我不知道如何区分,所以只有mail.domain.org使用流,而apps.domain.org是 http 配置?
我当前的配置(感谢下面的链接,但特别是tigunov关于让Outlook Anywhere又称RPC工作的评论)让我比以前更进一步。当我尝试Microsoft的远程连接分析器时,目前在FolderSync尝试失败。在Outlook中,凭据框仍然会弹出。
server {
(server_name , SSL-certs etc)
# Set global proxy settings
proxy_pass_header Date;
proxy_pass_header Server;
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 Accept-Encoding "";
keepalive_timeout 3h;
proxy_read_timeout 3h;
#reset_timedout_connection on;
tcp_nodelay on;
client_max_body_size 3G;
#proxy_pass_header Authorization;
proxy_pass_request_headers on;
proxy_http_version 1.1;
proxy_request_buffering off;
proxy_buffering off;
proxy_set_header Connection "Keep-Alive";
}
立即测试结果:(一切正常,包括ActiveSync - OPTIONS),但是:
Attempting the FolderSync command on the Exchange ActiveSync session.
The test of the FolderSync command failed.
Exception details:
Message: The request was aborted: The request was canceled.
Type: System.Net.WebException
Stack trace:
at System.Net.HttpWebRequest.GetResponse()
at Microsoft.Exchange.Tools.ExRca.Extensions.RcaHttpRequest.GetResponse()
Elapsed Time: 526 ms.
在连接工具中没有进一步的细节。
答案 0 :(得分:1)
此配置基于Tad DeVries'配置找到here和Daniel Kempkens'修复了here找到的自动发现和RPC问题。
请注意,由于我没有要测试的Exchange环境,因此我不确定此配置是否可以正常运行,但值得一试。
server {
listen 80;
#listen [::]:80;
server_name mail.gwtest.us autodiscover.gwtest.us;
return 301 https://$host$request_uri;
}
server {
listen 443;
#listen [::]:443 ipv6only=on;
ssl on;
ssl_certificate /etc/ssl/nginx/mail.gwtest.us.crt;
ssl_certificate_key /etc/ssl/nginx/mail.gwtest.us.open.key;
ssl_session_timeout 5m;
server_name mail.gwtest.us;
location / {
return 301 https://mail.gwtest.us/owa;
}
proxy_http_version 1.1;
proxy_read_timeout 360;
proxy_pass_header Date;
proxy_pass_header Server;
proxy_pass_header Authorization;
proxy_set_header Accept-Encoding "";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
more_set_input_headers 'Authorization: $http_authorization';
more_set_headers -s 401 'WWW-Authenticate: Basic realm="exch1.test.local"';
location ~* ^/owa { proxy_pass https://exch1.test.local; }
location ~* ^/Microsoft-Server-ActiveSync { proxy_pass https://exch1.test.local; }
location ~* ^/ecp { proxy_pass https://exch1.test.local; }
location ~* ^/rpc { proxy_pass https://exch1.test.local; }
#location ~* ^/mailarchiver { proxy_pass https://mailarchiver.local; }
error_log /var/log/nginx/owa-ssl-error.log;
access_log /var/log/nginx/owa-ssl-access.log;
}