Публикация Exchange Autodiscover через Reverse-Proxy

Автор: | 01.03.2026

Надоело постоянно подсовывать сертификаты на телефоны, планшеты и прочие внешние ноутбуки. Было найдено решение по публикации Exchange Autodiscover через Reverse-Proxy c Let’s Encrypt.

Создаем файл

touch /etc/apache2/site-available/mail.conf
<VirtualHost *:443>

ServerName mail.zhilich.ru #меняем на свой адрес
ServerAlias autodiscover.zhilich.ru #меняем на свой адрес
ServerAdmin admin@zhilich.ru #меняем на свою почту

ErrorLog /var/log/apache2/error.log
CustomLog /var/log/apache2/access.log combined

Header always set X-Frame-Options SAMEORIGIN
Header set Server Apache
Header unset X-AspNet-Version
Header unset X-OWA-Version
Header unset X-Powered-By
RequestHeader unset Expect early

SetEnvIf User-Agent ".*MSIE.*" value BrowserMSIE
Header unset WWW-Authenticate
Header add WWW-Authenticate "Basic realm=autodiscover.zhilich.ru" #меняем на свой адрес

ProxyRequests Off
ProxyPreserveHost On

SSLProxyEngine on
SSLProxyVerify none
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
SSLProxyCheckPeerExpire off

#longer connection timeout to prevent activesync errors
ProxyPass / https://192.168.0.2/ connectiontimeout=600 #меняем на свой адрес
ProxyPassReverse / https://192.168.0.2/ #меняем на свой адрес

<Directory /Microsoft-Server-ActiveSync>
#attachment/activesync bugfix
SSLRenegBufferSize 31457280
</Directory>

<Directory /Mapi>
#attachment/activesync bugfix
SSLRenegBufferSize 31457280
</Directory>

#charset e.g. for german special chars
AddDefaultCharset ISO-8859-1

DocumentRoot /var/www/html

<Directory />
    Order deny,allow
    Deny from all
</Directory>

<Directory /var/www/html>
    DirectoryIndex index.php index.html
    Options -Indexes +FollowSymLinks
    Order allow,deny
    Allow from all
</Directory>

<Proxy *>
        SetEnv proxy-nokeepalive 1
        SetEnv force-proxy-request-1.0 1
        Order deny,allow
        Allow from all
</Proxy>

#SSL Certificate
    BrowserMatch "MSIE [2-6]"nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0

# MSIE 7 and newer should be able to use keepalive
    BrowserMatch "MSIE [17-9]"ssl-unclean-shutdown
    Include /etc/letsencrypt/options-ssl-apache.conf 
    SSLCertificateFile /etc/apache2/ssl/server.crt #меняем на свой сертификат
    SSLCertificateKeyFile /etc/apache2/ssl/server.key #меняем на свой ключ
</VirtualHost>

Собственно уже будет работать, запускаем certboot выпускаем сертификат Let’s Encrypt и живём радуемся, но!
Для совсем уж корректной работы нужен редирект 80-to-443, создаем файл

touch /etc/apache2/site-available/mail-redirect.conf

Вот с таким содержимым:

<VirtualHost *:80>
ServerName mail.zhilich.ru #меняем на свой адрес
ServerAlias autodiscover.zhilich.ru #меняем на свой адрес

ServerSignature Off

RewriteEngine On
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]

ErrorLog /var/log/apache2/redirect.error.log
LogLevel warn
</VirtualHost>

Теперь переходим в Exchange ECP и настраиваем его, в части авторизации а именно:

Ну и в «мобильном Outlook» не забываем адрес поменять

Остается совсем уже последний штрих, а именно идем на сервер Exchange, запускаем Exchange Management Shell и пишем

Set-ClientAccessService -Identity <exchange> -AutoDiscoverServiceInternalUri  https://<autodiscover.zhilich.ru>/Autodiscover/Autodiscover.xml

Где <exchange> — имя вашего сервера Exchange
А <autodiscover.zhilich.ru> — DNS-имя вашего Exchange AutoDiscover

В целом на этом всё, проверяем, всё должно работать.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *