Я использую z-push версии 2.5.1, последнюю версию Zimbra с открытым исходным кодом и последнюю версию z-push на одном сервере. Все работает нормально, но мне нужна небольшая настройка для моего apache. Я хочу видеть - когда пользователь подключается к моему адресу zimbra-сервера через http, он должен быть перенаправлен на https. Но также я хочу, чтобы z-push работал на порту 80. (Слишком много устройств уже настроено) Моя идея состоит в том, чтобы изменить конфигурацию Apache следующим образом: когда запрос делается на порт 80, он должен перенаправлять на https://my.mail.com но если запрос содержит / Microsoft-Server-ActiveSync, он должен поддерживать соединение без перенаправления.
Или, может быть, есть другой способ сделать это проще. Я не очень хорошо разбираюсь в apache, а z-push для меня в новинку, поэтому прошу помощи.
Моя текущая конфигурация apache:
<VirtualHost *:80>
ServerName post.server.com
ServerAdmin admin@server.com
#Redirect / https://post.server.com
ProxyRequests Off
DocumentRoot /usr/share/z-push
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
#<Directory /usr/share/>
# Options Indexes FollowSymLinks MultiViews
# AllowOverride None
# Order allow,deny
# allow from all
#</Directory>
Alias /Microsoft-Server-ActiveSync /usr/share/z-push/index.php
Alias /Microsoft-Server-Activesync /usr/share/z-push/index.php
AliasMatch (?i)/Autodiscover/Autodiscover.xml "/usr/share/z-push/autodiscover/autodiscover.php"
<Directory /usr/share/z-push>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
php_admin_flag safe_mode off
php_flag magic_quotes_gpc off
php_flag register_globals off
php_flag magic_quotes_runtime off
php_flag short_open_tag on
</Directory>
SetEnvIf Request_URI "^/Microsoft-Server-ActiveSync(/|$)" zpush_request
SetEnvIf Request_URI "^/Microsoft-Server-Activesync(/|$)" zpush_request
CustomLog /var/log/apache2/zpush_access_log common env=zpush_request
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
#Alias /doc/ "/usr/share/doc/"
#<Directory "/usr/share/doc/">
# Options Indexes MultiViews FollowSymLinks
# AllowOverride None
# Order deny,allow
# Deny from all
# Allow from 127.0.0.0/255.0.0.0 ::1/128
#</Directory>
# FOR PROXY !!!!!!
#DirectoryIndex index.html index.php
#ProxyPreserveHost On
#SSLProxyEngine On
#ProxyVia full
#<Proxy *>
# Order Deny,allow
# Allow from all
#</Proxy>
# set below to IP address of your server
#ProxyPass / http://192.168.1.51:5080/
#ProxyPassReverse / http://192.168.1.51:5080/
#SSLEngine on
</VirtualHost>