OBEC POCTE
NEVSEREMOS'!
Неактивна зіркаНеактивна зіркаНеактивна зіркаНеактивна зіркаНеактивна зірка
 

/images/stories/2020/confuse-the-hell-out-of-the-spiders_thumb.png

Я користуюсь CentOS Web Panel (CWP) і хочу спрямувати другорядний домен на основний. Використовую nginx. Хочу, щоби другорядний перенаправлявся як для http, так і для https. Прийшлось трохи поморочитись.

Я маю основний домен gruz.ml і другорядний gruz.ml. Я хочу, щоби коли я заходжу на https://gruz.ml/whatever-path , https://gruz.ml/whatever-path , мене перекидало на https://gruz.ml/whatever-path

Найбільш очевидний шлях - додати домен у CWP і прив'язати його потрібному користувачу та вказати теку public_html. Це працює, проте не до кінця. Виходить сайт працює під обома доменами, без редіректа на основний. Вирішується наступним чином.

Додаємо вторинний домен у CWP

https://ximage.ml/x/2020_04_26_23_40_31_yq_thumb.png

Після цього вторинний домен має відкривати сайт без перенаправлення.

Створюємо шаблон nginx для CWP

Щоби запрацював редірект на основний домен, треба створити відповідний нашблон nginx та призначити його вторинному домену. Шаблон складається з двох файлів - для http і для https

То ж у командному рядку під рутом достатньо виконати команди, описані нижче. Команда піде у відповідну директорію і створить там наші шаблони.

Не забудьте підставити свій домен у MYDOMAIN. В моєму випадку це було MYDOMAIN='gruz.ml';

cd /usr/local/cwpsrv/htdocs/resources/conf/web_servers/vhosts/;
MYDOMAIN='mydomain.com';
cat > redirect-to-$MYDOMAIN.tpl  <<EOL
server {
        listen %ip%:%nginx_port%;
        server_name %domain_idn% %alias_idn%;

        access_log /usr/local/apache/domlogs/%domain%.bytes bytes;
        access_log /usr/local/apache/domlogs/%domain%.log combined;
        error_log /usr/local/apache/domlogs/%domain%.error.log error;

        rewrite ^/(.*) https://${MYDOMAIN}/$1 permanent;
}
EOL;
cat > redirect-to-$MYDOMAIN.stpl  <<EOL
server {
        listen %ip%:%nginx_port% %http2%;
        server_name %domain_idn% %alias_idn%;

        access_log /usr/local/apache/domlogs/%domain%.bytes bytes;
        access_log /usr/local/apache/domlogs/%domain%.log combined;
        error_log /usr/local/apache/domlogs/%domain%.error.log error;

        ssl                  on;
        ssl_certificate      %ssl_cert_path%/%domain%.bundle;
        ssl_certificate_key  %ssl_key_path%/%domain%.key;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA+SHA384:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH+aRSA!RC4:EECDH:!RC4:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS;
        ssl_prefer_server_ciphers   on;

        ssl_session_cache   shared:SSL:10m;
        ssl_session_timeout 60m;

        rewrite ^/(.*) https://${MYDOMAIN}/$1 permanent;
}
EOL;

Затосуємо шаблон до вторинного домена

Йдемо до WebServer Settings -> WebServers Domain Conf, обираємо користувача, під яким працює основний домен, так тицяємо Add Configuration (чи Edit configuration, якщо конфігурацію раніше було створено).

https://ximage.ml/x/2020_04_27_00_09_25_uv_gf_thumb.png

Далі обираємо nginx -> php-fpm, php-fpm та redirect-to-mydomain.com (Ваш щойно створений шаблон). Не забудьте відмітити Rebuild WebServers conf for domain on save. Зберігаємо.

https://ximage.ml/x/2020_04_27_00_14_05_pu_thumb.png

Зареєструйтесь, щоби додавати коментарі

Якщо ви помітили помилку, то виділіть фрагмент тексту та натисніть Ctrl+Enter
FaLang translation system by Faboba
ОУН-УПА: легенда спротиву Українська Дивізія «Галичина» Зиновій Книш: спогади й матеріали до діяння УВО і ОУН Реаніматор електронних текстів Забуттю не підлягає 1917-1991
Orphus System

Коментарі

  • Форматування PHP коду у VS Code відповідно до Joomla Coding Standards, тобто про phpcs та php-cs-fixer

    oppo oppo 16.03.2018 09:54
    спасибі, грамотно написано

    Детальніше...

     
  • Урок на майбутнє. Зброя і революція.

    Chillipepper Chillipepper 20.12.2016 22:59
    "... малі держави не можуть ефективно покладатися виключно на стримування в якості основної стратегії ...

    Детальніше...

     
  • AutoReadMore - автоматичне додавання кнопки Детальніше для статей Joomla, інших компонентів і модулі

    gruz gruz 13.07.2016 18:38
    Виправив в останній версі 4.5.3

    Детальніше...

     
  • AutoReadMore - автоматичне додавання кнопки Детальніше для статей Joomla, інших компонентів і модулі

    гром гром 13.07.2016 10:01
    Привіт! Відмінний плагін, не можу застосувати його до категорій. Або скрізь працює або ніде! У ...

    Детальніше...

     
  • VirtueMart 2.x Categories accordion menu

    gruz gruz 28.12.2015 12:54
    [URL=https://upload.wikimedia.org/wikipedia/common s/3/33/Image-missing.svg ...

    Детальніше...