Задать вопрос
Ответы пользователя по тегу Nginx
  • 307 Internal Redirect - как отключить в nginx?

    fzfx
    @fzfx
    18,5 дм
    да, дело в HSTS. вам нужно почистить кэш HSTS-записей в браузере, с которого заходите на сайт: https://www.thesslstore.com/blog/clear-hsts-settin...
    Ответ написан
    Комментировать
  • Как понять способ переадресации сайта с http на https?

    fzfx
    @fzfx
    18,5 дм
    откройте главную страницу вашего сайта в просмотрщике исходного текста страницы браузера. примерно с середины сайта ссылки имеют вид:
    href="http://calmsector.ru/viewtopic.php?p=299745#p299745"

    именно по этой причине на сайте смешанное содержимое. замените все подобные ссылки где-то в недрах админки вашего сайта на href="viewtopic.php?p=299745#p299745" и будет вам счастье.
    Ответ написан
  • Как заставить работать nginx+gunicorn+telebot (telegram webhooks)?

    fzfx
    @fzfx
    18,5 дм
    что с правами на unix-сокет? ls -la /home/netolyrg/test_bot/test_bot.sock
    вообще навскидку выглядит всё нормально, но проблема в том, что я не настоящий сварщик. единственно, я не в курсе, чем именно у вас занимается bot_core.bot.process_new_updates([update]).
    в качестве примера могу кинуть код бота на D для сравнения:
    spoiler
    import vibe.vibe;
    import vibe.stream.tls;
    import vibe.data.json;
    import std.string;
    import std.typecons;
    
    immutable string botName = "somebotname";
    immutable string tgWebhookUrl = "/urlforwebhook";
    immutable string tApiUrl = "https://api.telegram.org/bot123456789:TOKENISHERE";
    
    void main()
    {
            auto settings = new HTTPServerSettings;
    	// на каком порту слушать вебхуки, проксируемые сюда nginx'ом
            settings.port = 8080;
    	// на каких интерфейсах хоста слушать вебхуки
            settings.bindAddresses = ["::1", "127.0.0.1"];
    
            auto router = new URLRouter;
    	// установка обработчика вебхуков
            router.post(tgWebhookUrl, &tgWebhookDispatcher);
    
            listenHTTP(settings, router);
            runApplication();
    }
    
    // обработчик вебхуков
    void tgWebhookDispatcher(HTTPServerRequest req, HTTPServerResponse res)
    {
            res.contentType("application/json");
            string resJson;
    	// проверка на то, что пришедшее сообщение является replay'ем
            if("reply_to_message" in req.json["message"]) {
    		// проверка на то, что в пришедшем сообщении команда для бота
                    if("entities" in req.json["message"] &&
                    "type" in req.json["message"]["entities"][0] &&
                    req.json["message"]["entities"][0]["type"].get!string == "bot_command")
                    {
    			// диспетчеризация команд для бота и ответ на них
                            switch(req.json["message"]["text"].get!string)
                            {
                                    case "/somecommand1@" ~ botName:
                                    resJson = q"[{"method":"sendMessage","chat_id":]"
                                    ~ to!string(req.json["message"]["chat"]["id"])
                                    ~ q"[,"text":"Answer1"}]";
                                    break;
                                    case "/somecommand2@" ~ botName:
                                    resJson = q"[{"method":"sendMessage","chat_id":]"
                                    ~ to!string(req.json["message"]["chat"]["id"])
                                    ~ q"[,"text":"Answer2"}]";
                                    break;
                                    default:
                                    break;
                            }
                    }
            }
            res.writeBody(resJson);
    }
    Ответ написан
  • Как запустить nginx если 80 порт занят?

    fzfx
    @fzfx
    18,5 дм
    конечно, есть. заменить модем на нормальный.
    ну или узнать, какое приложение занимает 80 порт и грохнуть его. вряд ли этим занимается именно драйвер модема.
    и вообще, откуда инфа, что порт занимает именно модем?
    Ответ написан
    1 комментарий
  • Как вы отвечаете на вопрос при собеседовании, в чём отличия между Apache и Nginx?

    fzfx
    @fzfx
    18,5 дм
    в энергопотреблении.
    Ответ написан
    Комментировать
  • 502 Bad Gateway nginx/1.10.3 (Ubuntu)?

    fzfx
    @fzfx
    18,5 дм
    ip-адрес сервера, к которому nginx пытается подключиться клиентом, принадлежит другой подсети, нежели ip-адрес сервера с nginx, а маршрут до этой подсети на сервере с nginx отсутствует. нужно либо поправить маску подсети на одном или обоих серверах, либо ip-адрес на одном или обоих серверах, либо разобраться с маршрутизацией между этими двумя подсетями.
    Ответ написан
  • Ubuntu как создать пользователя для веб-сервера?

    fzfx
    @fzfx
    18,5 дм
    как самый простой временный вариант - сменить группу пользователя Developer на www-data:
    - узнайте gid группы www-data, выполнив cat /etc/group | grep www-data;
    - смените gid пользователя Developer в файле /etc/passwd - Developer перестанет быть членом той группы, gid которой вы убрали (это может быть для вас неприемлимо);
    - добавьте в файл .profile пользователя Developer строку umask 0002 - любой вновь созданный пользователем файл будет получать права rwxrwxr-- вместо умолчательных rwxr--r-- (также может быть неприемлимо);
    - перейдите в каталог файлов вебсервера (т. е. в тот каталог, где у вас проблемы с созданием файла test.txt) и выполните chmod g+w . - это разрешит создавать в каталоге файлы членам группы www-data;
    - перелогиньтесь.

    для того, чтобы решить проблему "более правильно", следует использовать поддержку acl в файловой системе; ключевые моменты:
    - отменить все измения, что написаны выше;
    - добавить опцию монтирования xattr в fstab для раздела, на котором присутствует каталог файлов вебсервера (ext3, ext4, btrfs, reiserfs их поддерживают) и переподмонтировать раздел (например, перезагрузиться);
    - использовать setfacl для настройки аттрибутов по умолчанию для вновь создаваемых файлов в каталоге файлов вебсервера.
    Ответ написан
    1 комментарий