URL без «https: //» не работает в Apache

Я использую Apache в качестве прокси-сервера для моего веб-приложения, которое выполняется в контейнере Glassfish. Я настроил прокси-сервер, а также SSL в Apache. Доступ к сайту извне возможен по URL-адресу https://www.my-domain.com без каких-либо проблем. Но я хочу называть сайт без префикса «https: //» (www.mydomain.com.) в браузере.

Если я использую URL без https: //, он выдает ошибку «не удается подключиться к серверу» в браузерах (Safari, firefox) и при использовании curl в командной строке он говорит:

Rebuilt URL to: www.my-domain.com/
Trying 2xx.xxx.xxx.xxx...
connect to 2xx.xxx.xxx.xxx port 80 failed: Connection refused

Я настроил виртуальный хост в соответствии с документацией по apache для перенаправления любого запроса без https на https. Вот моя конфигурация:

<VirtualHost 2xx.xxx.xxx.xxx:80> 
ServerName my-domain.com
ServerAlias www.my-domain.com
RewriteEngine On
RewriteCond %{HTTPS} !=on 
RewriteRule (.*) https://my-domain.com [R,L]
</VirtualHost>

Есть ли что-нибудь, чего мне не хватает в конфигурации? Почему сервер Apache не перенаправляет запрос? любая помощь будет принята с благодарностью.

ps. как только я вызываю страницу с https: // извне, ее можно вызвать даже с удаленными деньгами, без префикса https: //. В VPN или в той же сети он работает без префикса.

0
задан 10 August 2017 в 23:24
1 ответ

Вам необходимо убедиться, что у вас есть действующий оператор Listen для порта 80 в вашей конфигурации apache. Просто добавить виртуальный хост с портом 80 недостаточно.

1
ответ дан 4 December 2019 в 16:10

Теги

Похожие вопросы