Перенаправление поддомена с https на http не работает

Я хочу переписать ссылку на apache. Апач работает с ssl. И мое приложение возвращает некоторые запросы в виде ссылки https. Пример:

https://www-prd.euro1.sdl.electric.com/uk/en/assets-re1/js/adapt-img.js

необходимо перенаправить на:

http://www-prd.euro1.sdl.electric.com/uk/en/assets-re1/js/adapt-img.js

Просто замените https на http. Мой последний вариант:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^https://electric\.com [NC]
RewriteRule ^(.*)$ http://electric.com/$1 [L,R=301]

Но это не поможет мне.

Файл конфигурации:

ProxyPass /server-status !
Listen 443
SSLSessionCache         shmcb:/var/cache/mod_ssl/scache(512000)
SSLSessionCacheTimeout  300
Mutex default
SSLRandomSeed startup file:/dev/urandom  256
SSLRandomSeed connect builtin
SSLCryptoDevice builtin
ErrorLog logs/ssl_error_log
TransferLog logs/ssl_access_log
LogLevel warn
SSLProtocol all -SSLv2
SSLHonorCipherOrder On
SSLCipherSuite ALL:!ADH:!EXP:!LOW:!RC2:!3DES:!SEED:!RC4:+HIGH:+MEDIUM

SSLCertificateFile /etc/httpd/ssl/apache.crt
SSLCertificateKeyFile /etc/httpd/ssl/apache.key

<VirtualHost *:443>
ServerName fe1-app.projects.com
SSLEngine on
AllowEncodedSlashes On
RewriteEngine on
RewriteCond %{HTTP_HOST} ^https://www-prd\.euro1\.sdl\.electric\.com [NC]
RewriteRule ^(.*)$ http://www-prd.euro1.sdl.electric.com/$1 [L,R=301]
</VirtualHost>

ProxyPassMatch  (.*) http://localhost:20180 nocanon
ProxyPreserveHost On
ProxyStatus On
SetEnv proxy-nokeepalive 0

person Zak Shirak    schedule 15.05.2018    source источник
comment
Итак, у апача есть ssl (https), но вам нужно перенаправить на ссылку без ssl (http)? Это сбивает с толку   -  person Alex    schedule 15.05.2018
comment
Да, перенаправить без ssl(https) для некоторых URL-адресов.   -  person Zak Shirak    schedule 15.05.2018
comment
некоторый? Что за правило тогда?   -  person Alex    schedule 15.05.2018
comment
Правило должно переписать ссылку https: www-prd.euro1.sdl.electric.com/uk/en/assets-re1/js/adapt-img.js на http www-prd.euro1.sdl.electric.com/uk/ en/assets-re1/js/adapt-img.js   -  person Zak Shirak    schedule 15.05.2018
comment
Я имею в виду, что такое шаблон URL для перенаправления? Если только тот, что вы упомянули, то: RewriteCond %{HTTP_HOST} ^https:www-prd\.euro1\.sdl\.electric\.com [NC] RewriteRule ^(.*)$ https:www-prd.euro1.sdl.electric.com/$1 [L,R=301]   -  person Alex    schedule 15.05.2018
comment
Спасибо за помощь. Но это не помогло. прикрепил конфиг файл   -  person Zak Shirak    schedule 15.05.2018
comment
убрать лишний пробел после https: и http:   -  person Alex    schedule 15.05.2018
comment
Я просто удалил двойную трубу //, потому что stackoverflow не показывает http и https. Пример с https — www-prd.euro1.sdl.electric.com   -  person Zak Shirak    schedule 15.05.2018
comment
Ваш ServerName — fe1-app.projects.com, но домен, который вы хотите перенаправить, — www-prd.euro1.sdl.electric.com?!? Вы говорите But this not help me., что происходит? Логи? Вы смотрели на возврат в консоли браузера? У вас есть 301?   -  person Nic3500    schedule 15.05.2018
comment
Мое приложение после apache имеет html с ‹script type=text/javascript src=//www-prd.euro1.sdl.electric.com/bla/bla/bla/js.js›‹/script›. Я пытаюсь настроить ssl. В браузере я вижу, что все запросы GET теперь имеют https, а не http. Я не получаю 301. Логи без ошибок и немного информации о редиректе. У меня в конфиге code RewriteEngine на RewriteCond %{HTTP_HOST} ^https: www-prd\.euro1\.sdl\.electric\.com [NC] RewriteRule ^(.*)$ http: www-prd.euro1.sdl. electric.com/$1 [L,R=301] code. fe1-app.projects.com — сервер apache.   -  person Zak Shirak    schedule 15.05.2018
comment
Итак, вам нужно, чтобы скрипт, запрашиваемый через URL-адрес https://www-prd.euro1.sdl.electric.com/bla/bla/bla/js.js, загружался (а не перенаправлялся) с http://www-prd.euro1.sdl.electric.com/bla/bla/bla/js.js, верно? Вы можете открыть URL-адрес скрипта в браузере по https или http?   -  person Alex    schedule 15.05.2018


Ответы (1)


https:// не должен префикс HTTP_HOST, попробуйте это:

RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} ^www-prd\.euro1\.sdl\.electric\.com [NC]
RewriteRule ^(.*)$ http://www-prd.euro1.sdl.electric.com/$1 [L,R=301]

Если вам нужно просто загрузить js (без перенаправления), попробуйте следующее:

RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} ^www-prd\.euro1\.sdl\.electric\.com [NC]
RewriteRule ^(.*)$ http://www-prd.euro1.sdl.electric.com/$1 [L]
person Alex    schedule 15.05.2018
comment
Я могу открывать скрипты по http, ссылки https не работают. Браузер В отладке есть строки Ошибка загрузки ‹script› с источником “ссылка». Js должен загружаться с http-адреса. - person Zak Shirak; 16.05.2018