Поддержка Проблемы и решения htpasswds на сервере ngnix

  • Добрый день.
    ранее делал ограничение доступа к wp-admin с помощью htpasswds на веб-сервере с apache.
    Подскажите, на вебсервере c ngnix можно сделать такую защиту?Там ведь игнорируется содержимое файлов .htaccess

Просмотр 5 ответов — с 1 по 5 (всего 5)
  • Модератор Yui

    (@fierevere)

    永子

    http://nginx.org/ru/docs/http/ngx_http_auth_basic_module.html
    если у вас есть доступ к редактированию nginx.conf

    Да, доступ к файлу есть.
    Пробую писать

    location /wp-login.php {
        auth_basic "Administrator Login";
        auth_basic_user_file .htpasswd;
    }

    как указано в https://wordpress.org/support/article/brute-force-attacks/
    Но почему то после успешно авторизации браузер предлагает скачать файл, а не открывает wp-login.php

    • Ответ изменён 2 года, 10 месяцев назад пользователем simatic007.

    Такой код работать не будет, потому что обычно есть location заданный регулярным выражением location ~ \.php он будет иметь приоритет над префиксными.

    Можно почитать официальную документацию, например тут.

    • Ответ изменён 2 года, 10 месяцев назад пользователем pluginfactory.
    • Ответ изменён 2 года, 10 месяцев назад пользователем pluginfactory.
    • Ответ изменён 2 года, 10 месяцев назад пользователем pluginfactory.

    Да, получилось настроить используя

    location ^~ /wp-admin/ {
            auth_basic "Unauthorized";
            auth_basic_user_file .htpasswd; 
    }

    Только теперь появилась проблема что на странице cart и checkout также требует авторизацию. Сайт — магазин на woocommerce,
    Видимо на этих страницах вызываются какие-то файлы из /wp-admin. А как эту проблему исправить?

    Модератор Yuri

    (@yube)

    Видимо на этих страницах вызываются какие-то файлы из /wp-admin.

    Видимо, как и в любом канонично сделанном аяксе, это /wp-admin/admin-ajax.php

Просмотр 5 ответов — с 1 по 5 (всего 5)
  • Тема «htpasswds на сервере ngnix» закрыта для новых ответов.