У меня есть работающий сервер z-push (ActiveSync). Сервер z-push работает нормально. Чтобы сделать службу z-push доступной для другой сети, мы хотим настроить httpd-сервер apache в качестве прокси. Конфигурация прокси:
ProxyPass /Microsoft-Server-ActiveSync https://other.host.org/Microsoft-Server-ActiveSync keepalive=on
ProxyPassReverse /Microsoft-Server-ActiveSync https://other.host.org/Microsoft-Server-ActiveSync
SSLProxyEngine on
SSLProxyVerify none
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
Но если мы настроим ActiveSync-Client (за прокси), мы получим на сервере z-push следующие отладочные данные:
24/06/2020 12:25:00 [31225] [DEBUG] [xuser] -------- Start
24/06/2020 12:25:00 [31225] [DEBUG] [xuser] cmd='' devType='' devId='' getUser='xuser' from='192.168.1.2' version='2.4.4' method='GET'
24/06/2020 12:25:00 [31225] [DEBUG] [xuser] Used timezone 'Europe/Amsterdam'
24/06/2020 12:25:00 [31225] [ INFO] [xuser] Combined 5 backends loaded.
24/06/2020 12:25:00 [31225] [DEBUG] [xuser] Request::ProcessHeaders() ASVersion: 14.1
24/06/2020 12:25:00 [31225] [DEBUG] [xuser] ZPush::CommandNeedsAuthentication(0): true
24/06/2020 12:25:00 [31225] [ INFO] [xuser] ZPUSH2::Logon(GO version: 6.4.143, backend version: 406, user: xuser, domain: )
24/06/2020 10:25:00 [31225] [ INFO] [xuser] The zpushadmin module is installed, checking access for device.
24/06/2020 10:25:00 [31225] [ INFO] [xuser] Cannot identify the device ID, problably you are using the webbrowser to access z-push.
24/06/2020 10:25:00 [31225] [DEBUG] [xuser] NoPostRequestException: This is the Z-Push location and can only be accessed by Microsoft ActiveSync-capable devices - code: 2 - file: /....../z-push/vendor/z-push/index.php:90
24/06/2020 10:25:00 [31225] [ INFO] [xuser] User-agent: 'Android-Mail/2020.05.17.313130477.Release'
24/06/2020 10:25:00 [31225] [DEBUG] [xuser] ZPush::PrintZPushLegal()
24/06/2020 10:25:00 [31225] [ INFO] [xuser] cmd='' memory='2.95 MiB/4.00 MiB' time='0.09s' devType='' devId='' getUser='xuser' from='192.168.1.2' idle='0s' version='2.4.4' method='GET' httpcode='200'
24/06/2020 10:25:00 [31225] [DEBUG] [xuser] -------- End
Похоже, прокси httpd преобразует запрос PULL / PUSH в запросы GET ... Есть ли способ предотвратить это?