Рейтинг:0

Перенаправление с HTTPS на HTTP только для пользовательских агентов Safari

флаг cn
Fez

Да, вы правильно прочитали. Мне нужен HTTPS на HTTP только для Safari. Потому что все ссылки, ссылающиеся на сайт в любом месте, являются HTTPS.

У меня есть веб-сайт с SSL-сертификатом, и обычно мы принудительно перенаправляем весь трафик на HTTPS через .htaccess.

У меня проблема только с Safari, и я хотел бы ПРИНУДИТЕЛЬНО перевести весь HTTPS-трафик на HTTP ТОЛЬКО ДЛЯ пользовательского агента Safari. В конце концов, мне нужно угодить наименьшему общему знаменателю версии Safari, которая, вероятно, попадет на сайт, независимо от того, как я лично к этому отношусь. Перенаправление HTTP> HTTPS в основном приводит к тому, что многие старые версии Safari «не могут подключиться к серверу», и веб-сайт распространяется по обратной ссылке через Интернет только через URL-адреса https. Даже если устройства людей подделывают, скрывают или не сообщают о своем пользовательском агенте, мне все равно, мне просто нужно расширить сеть, насколько я могу.

Я хочу:

ЕСЛИ пользовательский агент=Safari

ИДТИ ОТ https://example.com

ПЕРЕЙТИ К http://example.com

Будет ли это работать? Честно говоря, я ничего не знаю о регулярном выражении.

### Перенаправить Safari на HTTP
RewriteEngine включен
RewriteCond %{HTTP_USER_AGENT} ^(?!.*Chrome).*Safari$
Правило перезаписи /(.*)l https://example.com/$1 [R]
Правило перезаписи ^(.*)$ http://example.com/ [L,R=302]

Заранее благодарим вас за любую помощь, которую вы можете предоставить.

djdomi avatar
флаг za
я думаю, вы пытаетесь решить проблему x и y (https://faq-database.de/doku.php?id=en:x-and-y-problem) - какова реальная проблема, которую вы пытаетесь решить ?
Fez avatar
флаг cn
Fez
Я написал это в абзаце: «Перенаправление HTTP> HTTPS в основном приводит к тому, что многие старые версии Safari «не могут подключиться к серверу», и веб-сайт распространяется по обратной ссылке через Интернет только через URL-адреса https». У меня нет контроля над пользовательскими версиями Safari, и я не могу просить людей обновить свои версии Safari.
Рейтинг:2
флаг kz

Вы не можете решить эту проблему, выполнив перенаправление на сервере для перенаправления с HTTPS на HTTP, если «старые» браузеры Safari «не могут подключиться к серверу» при выполнении запроса через HTTPS.

Вам необходимо успешно подключиться к вашему серверу через HTTPS, прежде чем вы сможете выполнить перенаправление на HTTP. (Словить 22)

У меня нет контроля над пользовательскими версиями Safari, и я не могу просить людей обновить свои версии Safari.

Но вы можете (теоретически) изменить (или исправить?) SSL-сертификат на вашем сервере. И это единственный способ решить эту проблему.

Вам нужно будет использовать сертификат SSL, который поддерживает «старый браузер Safari». (доверенный Калифорния и, возможно, тот, который не использует САН. См. следующий вопрос в стеке веб-мастеров: https://webmasters.stackexchange.com/questions/53453/what-is-more-supported-by-web-clients-browsers-san-subject-alternative-name .)

(Но сколько из твой пользователей это как-то влияет?)

Fez avatar
флаг cn
Fez
Блин, ну это не поможет. Это законный сертификат от доверенного ЦС, я не раскручивал его сам. Но он использует SAN. Запуск средства проверки SSL показывает, что с SSL-сертификатами все в порядке. Пользователей достаточно, чтобы из-за этого у меня +35% отказов. (Только для старых пользователей Safari) И поэтому мне нужно разобраться в этом. Ниша веб-сайта такова, что у нас, вероятно, будут пользователи на старых телефонах.
dave_thompson_085 avatar
флаг jp
(@Fez) У вас возникнут проблемы с получением доверенного сертификата без SAN. В современном мире (за исключением сред с собственной PKI, таких как военные США) «доверенный» = соответствует требованиям CABforum, а базовый уровень CABforum требует SAN с 2011 года. Плюс Chrome в течение нескольких лет и более новый MSEdge, который на самом деле является Chromium, никогда принимает сертификат без (соответствующего) SAN; он даже не будет пытаться соответствовать CommonName.
флаг kz
@Fez "+35% отказов" - 35% _всех_ посетителей?! Или 35% "пользователей старого сафари" (но что это такое)? На какой конкретно браузер это влияет? Что вы называете «старыми версиями Safari»? Настольный/мобильный?
Fez avatar
флаг cn
Fez
Таким образом, это 100% мобильного/планшетного трафика из версий Safari старше 14, которые не подключаются к сайту HTTPS (независимо от целевой страницы или приобретения (реклама, директ, Google, URL-адреса). Я отключил перенаправление HTTPS и те же самые браузеры, с которыми я тестирую, могут сразу просмотреть сайт, вручную удалив букву S в HTTPS://. В настоящее время этот трафик составляет 35% от общего числа посетителей сайта. Исчерпывающее тестирование в любом другом браузере/устройстве не имеет никаких проблем, только устаревший Safari на мобильном телефоне, планшете или настольном компьютере не может подключиться к сайту HTTPS.
Fez avatar
флаг cn
Fez
Еще одна вещь, которую следует упомянуть, у наших конкурентов в той же нише такая же проблема. Мое личное тестирование дает такие же результаты и для их страниц. Вот как это плохо. Ни на одном другом сайте, которым я управляю, нет такой широко распространенной проблемы, но ниши совершенно разные, поэтому я не знаю, является ли это такой большой проблемой для других ниш. Вот ПОЧЕМУ я рву на себе волосы. Если не считать полного отказа от HTTPS для размещения такой большой части нашей аудитории и одновременного удара по Google Rankings, у меня нет решения.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.