Трансляция порта настроена на брандмауэре с общедоступным адресом для перенаправления https-запроса от https://customdomain.fr:8443 на https://localIP-apache-server.
Перевод работает хорошо, и страница index.php отображается правильно.
Когда я аутентифицируюсь на портале, URL-адрес изменяется на http вместо https, и появляется следующее сообщение:
Неверный запрос Ваш браузер отправил запрос, который этот сервер не может понять. Причина: вы говорите по обычному протоколу HTTP с портом сервера с поддержкой SSL. Вместо этого используйте схему HTTPS для доступа к этому URL, пожалуйста.
Если я заменю http на https, страница будет отображаться правильно.
Я использую вамп-сервер. В моем httpd.conf есть 2 VirtualhHost, один для порта 80 и один для порта 443. Оба порта прослушиваются. Я попытался включить RewriteRule в httpd.conf в VirtualHost 443:
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule "^/?(.*)" "https://customdomain.fr:8443/$1" [L,R,NE]
Но ошибка 400 все равно возникает. Кажется, что Apache отправляет ошибку до того, как запрос будет прочитан VirtualHost 443.
Поэтому я попытался установить следующий код перед VirtualHost 443 в httpd.conf:
ErrorDocument 400 https://customdomain.fr:8443/aaa/bbb
У меня нет ошибки 400, но отображается страница https://customdomain.fr:8443/aaa/bbb/index.php, а не другая страница, например https://customdomain.fr:8443/aaa/bbb/order.php
Знаете ли вы, как отобразить запрошенную страницу с помощью ErrorDocument или другой способ решить мою проблему?
the url is changed to http instead of https
. Поскольку вы говорите о конфигурации пересылки, а не о неожиданном отказе от HTTP, я предположил, что это было сделано намеренно. Поэтому ваша страница не обслуживается полностью через HTTPS. - person Robert   schedule 04.06.2019