Перенос MD на HTTPS (443 порт)

Проблемы/вопросы, связанные с запуском под различными платформами и конфигурациями.

Модератор: immortal

Pooh
Сообщения: 74
Зарегистрирован: Вт дек 31, 2013 2:03 pm
Откуда: Самара
Благодарил (а): 25 раз
Поблагодарили: 5 раз

Перенос MD на HTTPS (443 порт)

Сообщение Pooh » Пн мар 21, 2016 3:04 pm

Есть у кого реальный опыт?
Pooh
Сообщения: 74
Зарегистрирован: Вт дек 31, 2013 2:03 pm
Откуда: Самара
Благодарил (а): 25 раз
Поблагодарили: 5 раз

Re: Перенос MD на HTTPS (443 порт)

Сообщение Pooh » Пн мар 21, 2016 7:24 pm

(Замечу, что у меня на компе еще 2 хоста, они по этой технологии перевелись на ssl сразу и безоговорочно)
Что делал:
1. Сгенерил самоподписанный сертификат, импортировал в браузер
2. Изменил настройки виртуального хоста:
СпойлерПоказать

Код: Выделить всё

<VirtualHost *:80>

#Перенаправляем на 443 порт
RewriteEngine on
ReWriteCond %{SERVER_PORT} !^443$
RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [NC,R,L]

    ServerAdmin webmaster@localhost

ServerName majordomo.$$$.com
ServerAlias www.majordomo.$$$.com

<IfModule mpm_itk_module>
    # AssignUserId webmaster-site site-group
    AssignUserId majordomo majordomo
</IfModule>

    DocumentRoot /var/www/majordomo
    <Directory />
        Options FollowSymLinks
        AllowOverride All
    </Directory>
    <Directory /var/www/majordomo/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
        AllowOverride All
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        allow from all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error_majordomo.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/access_majordomo.log combined
    
    php_admin_value upload_tmp_dir "/var/www/majordomo/phptmp/"
    php_admin_value session.save_path "/var/www/majordomo/phptmp/"
        
</VirtualHost>

<VirtualHost *:443>

#Настройка SSL
SSLEngine on
SSLProtocol all -SSLv2
SSLCertificateFile /etc/apache2/ssl/majordomo.crt
SSLCertificateKeyFile /etc/apache2/ssl/majordomo.key

    ServerAdmin webmaster@localhost

ServerName majordomo.$$$.com
ServerAlias www.majordomo.$$$.com

<IfModule mpm_itk_module>
    # AssignUserId webmaster-site site-group
    AssignUserId majordomo majordomo
</IfModule>

<IfModule mod_headers.c>
      Header always set Strict-Transport-Security "max-age=15768000; includeSubDomains; preload"
      Header always set X-Frame-Options DENY
</IfModule>

    DocumentRoot /var/www/majordomo
    <Directory />
        Options FollowSymLinks
        AllowOverride All
    </Directory>
    <Directory /var/www/majordomo/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
        AllowOverride All
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        allow from all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error_majordomo.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/access_majordomo.log combined
    
    php_admin_value upload_tmp_dir "/var/www/majordomo/phptmp/"
    php_admin_value session.save_path "/var/www/majordomo/phptmp/"
        
</VirtualHost> 
3. Перезагружаем и видим потерянную область меню :-(
4. Изменил настройки config.php:

Код: Выделить всё

Define('BASE_URL', 'https://majordomo.$$$.com:443')
5. Перезагружаемся и видим нормальный сайт. Радуемся, но недолго - часы в меню замерли :-( событий по таймеру нет, причем цикл не прерывается, а статус системы зеленый...

Где ошибся?
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 76 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Перенос MD на HTTPS (443 порт)

Сообщение sergejey » Вт мар 22, 2016 11:10 am

попробуйте в файле /modules/objects/objects.class.php заменить выделенный блок
Изображение

на

Код: Выделить всё

$data=getURL($url,0); 
если поможет, то внесу это исправление в общую ветку кода
За это сообщение автора sergejey поблагодарил:
Pooh (Ср мар 23, 2016 3:44 pm)
Рейтинг: 1.16%

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Ivan
Сообщения: 1473
Зарегистрирован: Сб окт 12, 2013 11:03 pm
Благодарил (а): 49 раз
Поблагодарили: 327 раз

Re: Перенос MD на HTTPS (443 порт)

Сообщение Ivan » Вт мар 22, 2016 11:17 am

У меня таких проблем нет.Потому что я сделал для localhost http, а для входа через домен (белый ИП) у меня https
Но вот я им не пользуюсь по причине чтого что ЬфощкВкщшв не потдерживает https
Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
Dark_Veter
Сообщения: 295
Зарегистрирован: Вт апр 23, 2013 5:16 pm
Откуда: Брянск
Благодарил (а): 18 раз
Поблагодарили: 94 раза

Re: Перенос MD на HTTPS (443 порт)

Сообщение Dark_Veter » Вт мар 22, 2016 12:04 pm

Я себе тоже сделал в локальной сети http, а из внешней https через nginx прокси. Все работает за исключением нескольких мелочей (загрузка данных на страницы из внешних источников по http).
Debian GNU/Linux 7.9 (wheezy), версия 0.9.0b, Connect
Pooh
Сообщения: 74
Зарегистрирован: Вт дек 31, 2013 2:03 pm
Откуда: Самара
Благодарил (а): 25 раз
Поблагодарили: 5 раз

Re: Перенос MD на HTTPS (443 порт)

Сообщение Pooh » Вт мар 22, 2016 3:01 pm

Dark_Veter писал(а):..а из внешней https через nginx прокси..
Поподробнее можно?
Pooh
Сообщения: 74
Зарегистрирован: Вт дек 31, 2013 2:03 pm
Откуда: Самара
Благодарил (а): 25 раз
Поблагодарили: 5 раз

Re: Перенос MD на HTTPS (443 порт)

Сообщение Pooh » Вт мар 22, 2016 3:08 pm

sergejey писал(а):..в файле /modules/objects/objects.class.php заменить выделенный блок на

Код: Выделить всё

$data=getURL($url,0);
если поможет, то внесу это исправление в общую ветку кода
Помогло! Часы пошли!
Dark_Veter
Сообщения: 295
Зарегистрирован: Вт апр 23, 2013 5:16 pm
Откуда: Брянск
Благодарил (а): 18 раз
Поблагодарили: 94 раза

Re: Перенос MD на HTTPS (443 порт)

Сообщение Dark_Veter » Вт мар 22, 2016 3:56 pm

Pooh писал(а):
Dark_Veter писал(а):..а из внешней https через nginx прокси..
Поподробнее можно?
Ставим nginx настроенный на 433 порт, привязываем к нему сертификаты, а в конфиге указываем, что все запросы переадресуем, примерно так:

Код: Выделить всё

location / {
    proxy_pass http://localhost:80;
    proxy_set_header X-Real-IP $remote_addr;
}
 
Своего конфига нет под рукой, но думаю, что тут ничего сложного. Если понадобится - позже скину свой конфиг.
Debian GNU/Linux 7.9 (wheezy), версия 0.9.0b, Connect
ErmolenkoM
Сообщения: 560
Зарегистрирован: Ср сен 04, 2013 10:31 am
Откуда: Самара
Благодарил (а): 99 раз
Поблагодарили: 140 раз
Контактная информация:

Re: Перенос MD на HTTPS (443 порт)

Сообщение ErmolenkoM » Вт мар 22, 2016 6:38 pm

Dark_Veter писал(а):
Pooh писал(а):
Dark_Veter писал(а):..а из внешней https через nginx прокси..
Поподробнее можно?
Ставим nginx настроенный на 433 порт, привязываем к нему сертификаты, а в конфиге указываем, что все запросы переадресуем, примерно так:

Код: Выделить всё

location / {
    proxy_pass http://localhost:80;
    proxy_set_header X-Real-IP $remote_addr;
}
Своего конфига нет под рукой, но думаю, что тут ничего сложного. Если понадобится - позже скину свой конфиг.
Уважаемый Dark_Veter, можно вас попросить выложить пошаговую инструкцию настройки https отдельным пунктом в эту инструкцию http://majordomo.smartliving.ru/Main/SetupLinux
Уверен, сообщество будет вам очень благодарно.
aka msh555
Cubian на Cubietruck, Connect
Dark_Veter
Сообщения: 295
Зарегистрирован: Вт апр 23, 2013 5:16 pm
Откуда: Брянск
Благодарил (а): 18 раз
Поблагодарили: 94 раза

Re: Перенос MD на HTTPS (443 порт)

Сообщение Dark_Veter » Вт мар 22, 2016 6:54 pm

ErmolenkoM писал(а): Уважаемый Dark_Veter, можно вас попросить выложить пошаговую инструкцию настройки https отдельным пунктом в эту инструкцию http://majordomo.smartliving.ru/Main/SetupLinux
Уверен, сообщество будет вам очень благодарно.
Тут не совсем настройка https, тут просто прокси, который переадресует все запросы к http (веб-серверу, на котором крутится MD). Но если интересно, напишу в ближайшее время инструкцию, как это сделано у меня.
Debian GNU/Linux 7.9 (wheezy), версия 0.9.0b, Connect
Ответить