Публикации

Форумы

1 2 3 4  
Модераторы: Патрик, net1313, Predator, Perfecthus, Kapman
Автор Добавил
Offline net1313
26.05.13 - 18:59
net1313


Сообщений: 2783
Оказывается SSL не очень-то поддерживается двигом. Конечно, в настройках есть возможность заставить весь сайт работать через SSL, но сделано коряво, достаточно почитать вики.

Нашел свое, промежуточное решение, а именно небольшой хак распознования порта по которому подключился юзер.
Если 80, то сайт отдается как обычно, если 443 то подключаем свой header_default. но есть одно НО (как обычно, без напильника не обойтись) - плагины и прочие шорткоды иногда используют в коде e_SELF, который зараза, выдает ссылки типа http, а мне нужно чтоб HTTPS.
Вот сижу, думаю как поменять в class2 все это дело, хотя строчку где оно меняется нашел. Может кто подскажет если уже додумались раньше ?

Валидатор SSL, понимаешь, ругается. В смысле говорит что все ОК но некоторые ссылки на сайте ведут к другому протоколу.

П.С. хотя возможно, что грешит httaccess так как там много чо написано в rewrite rules

ППС поискал тут на форуме, однако видна отсталость от запада на пару веков. (электрификация деревни еще не завершена)
ПССС на оф сайте полно вопросов, но как обычно, разрабы заняты продажей футболок и толковых ответов нету


Очень Добрый Админ
Вернуться наверх
Популярность сообщения: 2
Рекламный блок
VPS
Наверх

Offline himsoft
28.05.13 - 00:04
Сообщений: 27
А у тебя сертификаты как выдаются?
Вернуться наверх
Популярность сообщения: 0
 
Offline net1313
28.05.13 - 01:09
net1313


Сообщений: 2783
– Цитата: 
А у тебя сертификаты как выдаются?

Сертификат на сервере, и в виртуалхосте к нему прописан путь.
Я его (сертификат) купил. Поэтому домен теперь как говорится *проверенный* и заслуживающий доверия. Поэтому могу сделать некоторые части сайта доступными по https и браузер у юзеров ругатся не будет. Кроме того, у меня есть приложение на фейсбуке, но размещенное на сайте, а цукерберг и Ко не хочет чтоб приложения, работающие с фейсбуком находились не ясно у кого, поэтому требует валидного доступа по протоколу https и чтоб сертификат был не самоподписанный а заверенный.

Вобщем идея такая - чтоб сайт мог быть доступным по 2 протоколам, обычному и защищенному.
Основываясь на том факте, что наше коммюнити весьма "активное", я проблему решил сам поменяв кое что в class2 и заставив e_SELF отдавать https вместо http если надо. Теперь, если обратится к сайту по 443 порту, все работает. Остались некоторые мелкие отладки. Потому как разрабы разбросали по многим файлам в коде обращение через http. Например в wmessage прям так и написали. Приходится менять ручками и делать проверку по какому порту юзер заходит на сайт.

П.С: Чтобы поисковики не ругались на дублирующий контент, надо создать специально для 443 другой robots.txt и запретить там индексацию сайта полностю. перенаправляем бота на этот файл через .htaccess


Очень Добрый Админ
Вернуться наверх
Популярность сообщения: 4
 
Offline Evgura
10.03.17 - 15:03
Сообщений: 386
net1313: Разобрался с https, получилось что нибудь? Поделись решением а то у меня после перехода на https процентов 70 ссылок почему то по http отдаётся.
Вернуться наверх
Популярность сообщения: 0
 
Offline net1313
11.03.17 - 02:40
net1313


Сообщений: 2783
Да, разобрался уже года три как.
Тут вообще-то можно парочку решений найти.
1. Отдавать весь контент по HTTPS, то есть любой запрос на сайт идет через 443 порт. В Нджинксе настраивается очень просто, да и в Апаче тоже.
2. Тоже самое, но подстраховываемся. у меня не вторя версия, и я не знаю как в двойке. А вот в 1.04 создал свою переменную под названием HТTPS.

Наверное первый вариант самый лучший.
Не знаю на каком серваке у тебя сайт крутится. Смотри в Инете как любой запрос к сайту на 443 порт. (в Апаче не помню уже, не использую его)

– Цитата: 
а то у меня после перехода на https процентов 70 ссылок почему то по http отдаётся.

Потому как в двиге ссылки многие, как в ядре так и в темплейтах прописаны с помощью переменной e_HTTP. то есть перенаправляет на 80 порт.

Поделиться решением...
Какая версия движка у тебя?
На каком сервере работает?


Очень Добрый Админ
Вернуться наверх
Популярность сообщения: 1
 
Offline Evgura
11.03.17 - 10:32
Сообщений: 386
Тут что интересно, один сайт перевёл на 2.1.4 и с делал с https. Там с этим вообще проблем не возникло, все ссылки сами стали с https. Этот работает на апаче.

Второй сайт старый ещё на 0.7.26 работает и вот с ним проблема. Он работает на NGINX на VPS. Что интересно ссылки практически все относительные и почему к ним не подставляется https не понятно те. если смотреть ссылки то они на сайте http, при переходе по ним сайт открывается в https но естественно получается замочек не зелёный..
Сейчас работает по двум протоколам http и https. Ещё косяк заметил что если зайти на сайт по https то никто не может зайти на сайт по логин/пароль в том числе и я, ни каких ошибок не выдаёт просто нет входа и всё. Даже если ввести заведомо не правильный пароль или логин.
Вернуться наверх
Популярность сообщения: 0
 
Offline darkd
11.03.17 - 11:56
darkd

Сообщений: 469
Сообщение от Evgura... 
Тут что интересно, один сайт перевёл на 2.1.4 и с делал с https. Там с этим вообще проблем не возникло, все ссылки сами стали с https. Этот работает на апаче.

Второй сайт старый ещё на 0.7.26 работает и вот с ним проблема. Он работает на NGINX на VPS. Что интересно ссылки практически все относительные и почему к ним не подставляется https не понятно те. если смотреть ссылки то они на сайте http, при переходе по ним сайт открывается в https но естественно получается замочек не зелёный..
Сейчас работает по двум протоколам http и https. Ещё косяк заметил что если зайти на сайт по https то никто не может зайти на сайт по логин/пароль в том числе и я, ни каких ошибок не выдаёт просто нет входа и всё. Даже если ввести заведомо не правильный пароль или логин.



Напиши, как переводил



Аренда автомобилей, кемперов, мотоциклов по всему миру. Автотуры по Европе. Разработка маршрутов. Караванинг. Визы автотуристам. Бронирование отелей, паромов.
Партнерская система по аренде автомобилей (Вопросы в личку)
Вернуться наверх
Сайт
Популярность сообщения: 0
 
Offline Evgura
11.03.17 - 15:47
Сообщений: 386
– Цитата: 
Напиши, как переводил

Сертификат или купить или бесплатный от Let's Encrypt ставиш (у нормальных хостеров он есть и они его сами установят.) я его ставил.
На сайте или все ссылки относительными делаеш или меняеш на https, я менял через БД. Что бы не лезть в htasses и не ставить 301 редирект в админке прописать URL сайта с https. А что бы сайт работал и так и так то вообще в админке отключить эту функцию.
Добавляеш сайт а ЯВ и GS, в роботе пишеш хост с https и сайтмап (если есть), в карте все ссылки то же с https должны быть.
Ну и всё, ждёш пока склеятся сайты.
Вернуться наверх
Популярность сообщения: 0
 
Offline net1313
11.03.17 - 19:48
net1313


Сообщений: 2783
Evgura: я сейчас честно посмотрел в течение полу часа на свои файлы, так как не помню что и где менял. Слишком много. Потому что задачи другие стояли, а именно: гостям сайт открывается по протоколу http, а для регистрации и входа и для пользования сайтом залогиненных юзеров - только по 443.

Теперь же гуглы требуют всё перевести на защищённый протокол.
Но если тебе хочется взять в руки напильник и подточить старую версию двига для 443, то поменять надо будет header_default, footer_default, theme.php, login.php, register.php и темплейты других плагинов. Потому что в них ссылки формируются по http. ( e_http). Кстати, когда зелёный замочек пропадает, то можно узнать из зачего он ругается. Какая имено сылка ему не понравилась.

Вот для примера как у меня идёт проверка в login.php

  1. if(empty($_SERVER['HTTPS']))
  2. {
  3. header('location: https://твой_сайт.ru/ login.php');
  4. }


Вот как прописанна переменная в e107_class.php

  1. var $https_path_my;

и далее

  1. if(!defined("e_HTTP") || !defined("e_ADMIN") )
  2.                 {
  3.                         define("e_HTTPS", $this->https_path_my);
  4.                         .....
  5.                         .....
  6.                         .....


А вот как в файле темы проверяется протокол и в зависимости от этого подключение header_default (и другие нужные мне файлы/шорткоды) в котором только абсолютные ссылки, без всяких http.
  1. if( isset($_SERVER['HTTPS'] )  && $_SERVER['HTTPS'] != 'off' )
  2. {
  3. $register_sc[]='BOOKMARK';
  4. $register_sc[]='SSLLOG';
  5. ......
  6. ......
  7. и так далее

Даже логотип сайта в теме выводится только по https .Чтоб по клику всё равно попадали на https
  1. <p class=''><a href='".e_HTTPS."index.php' title='мой крутой сайт - самый самый'><img src='".e_IMAGE."logo.gif' width='200' height='50' /><span class='logo'>{LOGO_TITLE}</span></a></p>


Так что есть выбор, либо оставить старый сайт как есть, либо напильник в руки.


Очень Добрый Админ
Вернуться наверх
Популярность сообщения: 2
 
Offline Evgura
11.03.17 - 20:40
Сообщений: 386
Мдя...
Я наверное лучше подожду пока сайт проиндексируется полностью по https и буду переводить на 2.1.4, всё равно это вопрос времени.
Вернуться наверх
Популярность сообщения: 0
 
1 2 3 4  
HTTPS

Перейти:  Вернуться наверх