Назад | Перейти на главную страницу

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 не перенаправляет запрос? Любая помощь будет высоко ценится.

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

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