The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Создать новую тему
 - Свернуть нити
Пометить прочитанным
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | Архив | Избранное | Мое | Новое | | |  
Форум WEB технологии
Как правильно описывать структуру каталогов www-сервера, !*! Аноним, (Apache, http-серверы) 18-Сен-18, 07:33  [ | | | ] [линейный вид] [смотреть все]
Доброго времени всем.
Возник, по-видимому, совершенно нубский вопрос, но гугл ответа не дал, думаю, не могу правильно сформулировать.

Итак, имеется веб-сервер, documentroot которого находится в /home/www.
Внутри - еще несколько каталогов:

/home/www/cgi-bin
/home/www/documents
/home/www/files
/home/www/images

В конфиге Апача это описано следующим образом:

DocumentRoot "/home/www"

<Directory />
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>

<Directory "/home/www">
    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

<Directory "/home/www/cgi-bin">
    AllowOverride None
    Options ExecCGI
    Order allow,deny
    Allow from all
</Directory>

Все работает, как того хотелось - картинки грузяцца, файлы из files скачиваются, документы в documents открываются. Разграничение прав на эти каталоги не требуется, все открыто всем.
Собственно, вопрос - а правильно ли такое описание каталогов www-сервера в конфиге Апача? Или в любом случае нужно индивидуально описывать все имеющиеся в documentroot подкаталоги, типа

<Directory "/home/www/images">
...
</Directory>

<Directory "/home/www/files">
...
</Directory>

?
надеюсь, понятно объяснил, потому что гуглю свои непонятки я объяснить не смог...

nginx не логирует тело POST запроса, !*! novichok, (nginx) 04-Апр-19, 21:13  [ | | | ] [линейный вид] [смотреть все]
Здравствуйте.
Прошу помочь и ткнуть носом в ошибку, четвертый вечер гуглю, доки на оф сайте читал, много всего перепробовал, но результат нулевой.

Надо писать в лог тело POST запроса пришедшего в nginx.
Можно не заморачиваться и использовать ngrep, но это крайний вариант.

В nginx полный ноль, только начинаю его изучать.

имею установленный по дефолту nginx( apt-get install nginx) в debian_9

вот что добавил в конфиг:
------------------------
      log_format postdata escape=json ' "$request" $status'
                                        ' [REQEUST BODY]: [$request_body] ';


        server {

        listen 127.0.0.1:80 default_server;
        server_name localhost;

        location / {
        access_log /var/log/nginx/access.log postdata;
        }
        }
------------------------
отправляю пост:
curl -H "Content-Type: application/json" -X POST -d '{"user":"bob","pass":"123"}' http://localhost

получаю в ответ ошибку 405 Not Allowed.

в лог пишется:
::1 - - [04/Apr/2019:20:36:48 +0300] "POST / HTTP/1.1" 405 173 "-" "curl/7.52.1"

Если удалить location:

---------------------------------
log_format postdata escape=json ' "$request" $status'
                                        ' [REQEUST BODY]: [$request_body] ';

        server {

        listen 127.0.0.1:80 default_server;
        server_name localhost;
        }

access_log /var/log/nginx/access.log postdata;
---------------------------------
в лог придет:
escape=json "POST / HTTP/1.1" 405 [REQEUST BODY]: [-] -

вроде то что надо, но тела запроса нет.

может nginx не обрабатывает тело запроса если запрос вызвал ошибку...

модуль echo установлен:
nginx -V | grep echo
--add-dynamic-module=/build/nginx-0TiIP5/nginx-1.10.3/debian/modules/nginx-echo


error_page  405     =200 $uri;    ничего не дает, рузультат тот-же
--------

-------------------------------
error_page 405 = @app;

  location @app {
    proxy_pass http://localhost:8080;
  }
--------------------------------
так-же дает ошибку 405, на 'nc -lp 8080 ' ничего не пришло,

в логе:
escape=json "POST / HTTP/1.1" 405 [REQEUST BODY]: [-] -

я понимаю только то что я ничего не понимаю в nginx, ведь не могут конфиги просто не работать...

Подскажите как логировать POST, только nginx-ом?

тут https://nginx.org/ru/docs/ ответа не нашел, может не понял чего...


  • Попробуйте так log_format postdata request_body server l, !*! туманвёжике (?), 23:05 , 04-Апр-19 (1)
    Попробуйте так:

    log_format postdata $request_body;

    server {
        # ...
        # ...
        location = / {
           access_log  /var/log/nginx/postdata.log  postdata;
           fastcgi_pass php_cgi;
        }
    }


    Или так:

    https://gist.github.com/dzlab/2e6e79419877dc29d2efc63ae5974f...

    сообщить модератору +/ответить
Обновление php до 7 версии на centos 7, !*! commanderTom, (PHP) 02-Мрт-19, 10:27  [ | | | ] [линейный вид] [смотреть все]
Добрый день.
Зачем-то поставил я на своём сервере древнюю версию пхп - 5.4.16.
Ну было это еще пару лет назад.
А тут обстоятельства и неработающие на этой версии плагины к WP требуют обновления.
В инете в статьях по этому делу пишут, например:

-----------------------
Дальнейшие действия будут зависеть от того, что вы используете на вашем веб сервере. У меня установлен nginx + php-fpm примерно по приведенной статье. Мне необходимо удалить пакеты:

# yum remove php-fpm php-cli php-common

Удаление этих пакетов тянет за собой удаление всех зависимостей. Запишите их куда-нибудь, чтобы потом установить новые версии этих пакетов. В качестве пакета к удалению будет в том числе и phpmyadmin. Впоследствии его можно будет установить только вручную из исходников. Если вы используете apache, то необходимо удалить mod_php, а затем заново установить mod_php70u
------------------

Как узнать, какие зависимости у меня стоят, чтобы их потом обновлять?
Я когда ставил, делал просто

yum -y install httpd
yum -y install php

и всё.
Или достаточно # yum remove php?

icinga мониторинг mysql?, !*! Аноним, (MySQL) 14-Янв-19, 18:21  [ | | | ] [линейный вид] [смотреть все]
как настроить системе мониторинга icinga2 мониторинг mysql? какие показатели всегда нужно смотреть?
Возможно ли обнаружение MITM со стороны сервера?, !*! OldMonster, (Безопасность) 08-Янв-19, 01:50  [ | | | ] [линейный вид] [смотреть все]
ДВС.
Ситуация довольно простая.
Есть человек и сайт, куда этот человек часто ходит. По https.
В т.ч. и с работы.
Но. На работе, для обеспечения фильтрации контента установлена некая система - закрытая даже от админов. На браузеры рабочих мест вставлен сертификат, которому они должны доверять.
(не спрашивайте, что оно такое - не знаю. И сертификат не видел).
Фактически, (по опросам)так:
Когда из дома то браузер->сайт
Когда с работы браузер->MITM система->сайт
Допустим, я владею этим самым нужным сайтом, и не хочу отдавать чувствительные данные, когда человече заходит на него с работы.

Существует ли методика определения со стороны сервера(сайта), что вход на сайт осуществлён через эту систему с левым "доверенным" сертификатом?
Ещё раз: соединение по ssl, сертификат на сайте - реальный, не самоподписаный.
?
Спасибо.



Debian 9.6 - perl 5.24.1 - UNSIGNED ZEROFILL, !*! medexpert, (Perl) 21-Дек-18, 10:42  [ | | | ] [линейный вид] [смотреть все]
Здоровья Всем!
Столкнулся с проблемой второй раз:
1. На хостинге обновили perl - не смогли разобраться, попросил откатить (перенести на старый сервер).
2. На локальной машине умер диск с 8-кой. Поставил 9.6 и проблема возникла опять - теперь надо разбираться.

Поле MySQL два знака c UNSIGNED ZEROFILL.

Выводит:
site.com/catalog.pl?country=2

Должно быть:
site.com/catalog.pl?country=02

Сайт старый. "Никогда такого не было, и вот опять" :)
Может кто-то сталкивался? Какие мысли?

Zabbix-сервер объеденение графиков , !*! firdavs23mail.ru, (Разное) 07-Дек-18, 07:28  [ | | | ] [линейный вид] [смотреть все]
Доброго времени суток! Подскажите пожалуйста как можно объединить 2 или более графиков в один в мониторингe Заббикс? Например в мртг можно сделать так: 14:comunity@192.168.1.1:::::2 + comunity@192.168.1.1:::::2 + +28:comunity@192.168.1.1:::::2 + +31:comunity@192.168.1.1:::::2 + +28:comunity@192.168.1.1:::::3
За ранее спасибо...
очистка  метаданных сайта в mysql, !*! berkut4264, (MySQL) 07-Ноя-18, 21:50  [ | | | ] [линейный вид] [смотреть все]
Есть небольшой блог на LEMP. Создан больше для самообучения. Был включен tls 1.2 и опции в nginx:
add_header Strict-Transport-Security;
return 301 https://$server_name$request_uri;
После выхода финального релиза openssl 1.1.1 была попытка включения tls 1.3 соединение не устанавливается.
С аналогичным конфигом, версией LEMP и свежей базой на другом только что развернутом сайте  все работает.
Вопрос  mysql.
insert Json файл в Mysql, !*! vieru igor, (PHP) 13-Ноя-18, 10:47  [ | | | ] [линейный вид] [смотреть все]
Добрый день всем,помогите разобраться плиз
есть файл terminals.json и MySQL таблица terminale.
Нужно импортировать данные из файла в базу данных.
сделал:
<?php  
require('db.php');
// reading json file
$json = file_get_contents('terminals.json');
//converting json object to php associative array
$data = json_decode($json, true);
// processing the array of objects
foreach ($data as $user) {
    $agent = $user['agent'];
    $id = $user['id'];
    $name = $user['name'];
    $address = $user['address'];
    $work_time = $user['work_time'];
    $lat = $user['lat'];
    $lng = $user['lng'];
    $type = $user['type'];
    $status = $user['status'];
    }
//insert into mysql table
$sql = "INSERT INTO terminale(agent, id, name, address, work_time, lat, lng, type, status)
        VALUES('$agent', '$id', '$name', '$address', '$work_time', '$lat', '$lng', '$type', '$status')";
?>
Ошибка:
Notice: Undefined index: address in C:\xampp\htdocs\TEST\Test_Map\json-mysql\json-mysql.php on line 12
Помагите плиз
как дописать текст при записи в файл из формы, !*! gorlum300, (PHP) 16-Апр-14, 12:33  [ | | | ] [линейный вид] [смотреть все]
Есть php-форма из которой записывается вводимый пользователем текст в файл form.txt:


<html>

<head>
  <title>Tag form</title>
</head>

<body>

<form name="form1" action="index.php" method="post">
    <input name="text" type="text" value="">
    <input type="submit" name="submit" value="send">
</form>
<?php

if ((isset($_POST['text'])) and (isset($_POST['text'])) and ($_POST['submit'] == "send"))
{
        $file = fopen ("form.txt","r+");
        $str = trim($_POST['text']);
        if (!$file )
        {
    echo("file error");
    }
    else
    {
        fputs ($file, $str);
    }
    fclose ($file);
}

?>
</body>

</html>

Нужно, чтобы появилась возможность:
1. Дописывать в файл form.txt к тому что написал пользователь еще мой текст(mytext=).
Например, пользователь вводит в форму "user_test_text", нажимает Send и в файл form.txt записывается:
mytext=user_test_text
2. Выводить то, что сейчас записано в form.txt на этой же странице перед формой:

mytext=user_test_text
[форма]

Apache2 как открытый прокси, !*! sovdep, (Apache, http-серверы) 31-Авг-18, 22:52  [ | | | ] [линейный вид] [смотреть все]
Апач версия 2.4.34, ОС - Ubuntu 18.04, kernel - 4.15.0-33-generic
На сервере установлен apache2, который выполняет роль frontend для tomcat.
В мониторинге было зафиксирован долгий отклик системы (app tomcat).
В логах apache увидел, что сервер проксирует левые запросы с приличной скоростью.
В первую очередь выключил конфиг (a2dissite service.conf) и добавил тестовый без прокси, который выдает статическую index.html (без proxypass и т.д.). Выгрузил прокси модули в апач (a2dismod proxy_module proxy_http_module && systemctl reload apache2) ситуация не поменялась.
Тогда решил заменить fronend на nginx, удалил apache и все его модули, установил ngingx настроил конфиг, пока без проксирования и всё то же самое.
Вообщем проблема не в апач получается.
Где что ещё посмотреть? не пойму.


Incorrect arguments to st_distance_sphere. Percona 5.7, !*! evgeniy123, (MySQL) 25-Сен-18, 21:44  [ | | | ] [линейный вид] [смотреть все]
У меня запрос который выдает ошибку Incorrect arguments to st_distance_sphere  когда я делаю:


SELECT patch,  x.id, type, geo_address, place_name,  x(coordinates) as lat,  y(coordinates) as lng, x.updated_at, x.created_at, x.distance FROM
    (SELECT * ,(ST_Distance_Sphere(ST_GeomFromText('POINT(48.87 92.338)') , coordinates, 6373)) AS distance FROM `geo` ) x

Из за чего ошибка и как такое можно исправить ?

проверка социальных сетей, !*! firdavs23mail.ru, (Разное) 04-Сен-18, 12:42  [ | | | ] [линейный вид] [смотреть все]
Подскажите пожалуйста как можно мониторить работоспособность социальных сетей ? Работют ли сайты ? Необходимо мониторить когда закрывают и когда открывают со стороны провайдера... Какие программы утилиты ? спасибо за ранее....
  • Это на какой специальности и курсе такие домашки и вас тоже с 1 сентября , !*! Andrey Mitrofanov (?), 13:11 , 04-Сен-18 (1)
    > Подскажите пожалуйста как можно мониторить работоспособность социальных сетей ? Работют
    > ли сайты ? Необходимо мониторить когда закрывают и когда открывают со
    > стороны провайдера... Какие программы утилиты ? спасибо за ранее....

    Это на какой специальности и курсе такие домашки?

    ...и вас тоже с 1 сентября.

    сообщить модератору +/ответить
  • Обратитесь к специалисту В смысле за деньги К двум причем Первый необходимый в, !*! ыы (?), 23:59 , 04-Сен-18 (3)
    > Подскажите пожалуйста как можно мониторить работоспособность социальных сетей ? Работют
    > ли сайты ? Необходимо мониторить когда закрывают и когда открывают со
    > стороны провайдера... Какие программы утилиты ? спасибо за ранее....

    Обратитесь к специалисту. В смысле за деньги. К двум причем.

    Первый необходимый вам специалист-  корректно поставит задачу.
    Ну и второй ее решит :)

    сообщить модератору +/ответить
  • https habr com company selectel blog 331648 , !*! Аноним (-), 16:24 , 05-Сен-18 (4)


защита от подмены информации . REST, !*! Geni, (PHP) 01-Авг-18, 15:13  [ | | | ] [линейный вид] [смотреть все]
Я отсылаю картинку, координаты, адрес и тп по rest. Смотрю есть ли mock или нет (Android). Как ещё можно поизвращаться что бы по Rest напрямую человек не смог отправить ложные данные?
Zabbix-сервер и графики, !*! firdavs23mail.ru, (Разное) 27-Июл-18, 06:12  [ | | | ] [линейный вид] [смотреть все]
Доброго времени суток! Стоит заббикс сервер на Hp Proliant... Количество узлов 284...Снимаю траффик и ICMP-пинг... Почему то графики загружаются очень долго... От 15 секунд до 1минуты... Как можно это исправить  ?какие настройки поменять? Спасибо
  • apache, mod_php и памяти php добавить кешей-буферов БД добавлять для Pg ва, !*! Andrey Mitrofanov (?), 09:12 , 27-Июл-18 (1)
    > Доброго времени суток! Стоит заббикс сервер на Hp Proliant... Количество узлов 284...Снимаю
    > траффик и ICMP-пинг... Почему то графики загружаются очень долго... От 15
    > секунд до 1минуты... Как можно это исправить  ?какие настройки поменять?
    > Спасибо

    apache, mod_php и памяти php добавить... кешей-буферов БД добавлять...

    для Pg: вакуум гонять (онлайновый котоый, VACUUM (VERBOSE,ANALYZE);), может даже pg_repack-чить...

    Кто веб-сервер, кто БД?  Памяти в сервере сколько, диски какие?

    сообщить модератору +/ответить
Как установить код ответа HTTP сервера в CGI на Bash/sh?, !*! Ylis7, (Оптимизация, производительность) 23-Июл-18, 00:37  [ | | | ] [линейный вид] [смотреть все]
Скрипт может проверить поле из HTTP заголовка
If-Modified-Since
и определить были ли изменения.

Но я не понимаю, как сделать в скрипте, чтоб сервер отдал код
304 Not Modified

echo 'Status: 304'

-это оно или не оно?
Надо ли добавлять пояснения?
echo 'Status: 304 Not Modified'

Спасибо

Как подключить доменное имя к статическому ip адресу компьютера, !*! Выа, (Разное) 05-Июл-18, 15:59  [ | | | ] [линейный вид] [смотреть все]
Я зарегистрировал домен на freenom.com. Дома есть сервер с статическим IP. Я могу зайти по внешнему IP с другого компьютера. Как сделать, чтобы я мог заходить через доменное имя зарегистрированное на freenom.com?
В access.log куча запросов вида GET /?fp=XXX, !*! Toper, (Apache, http-серверы) 26-Июн-18, 18:32  [ | | | ] [линейный вид] [смотреть все]
Собственно при мониторинге access.log обратил внимание что к вебсерверу появилась куча запросов с GET-запросом как в названии темы.

Примеры:
GET /?fp=6JxLQD24zENI40+suHCYFUB92rZksW3ilLl/SUHcHTt2mOIkLzZ8GhEWq/Vc8OefBc+2vjN3x/seGgYpF06qkA==&prvtof=pCvccrq2A11lPtVZUdFKTQGj2E+zT4hi3eVVFZbG0FE=&poru=/svXWoSOq0ZyRJc6Cx8q1XBoZbo7V3BmEPscYQmFyZr3ITBMB3dxn+PgOkRxvfgB&

GET /?fp=sIDQJ5ucH6GsEpNUyNdfoxYCjxgu+6h63+N1STNNrVYv6kB/daGmPdxAoy5l+i0xtPeRerVj6V7PmnEGfD0vuA==&prvtof=4k/DSzAP+K/vSaR5/iPwizLzf19iMqKRzGV2iL21Iis=&poru=d9SQZIkYOSF+bvWH3eGJl5y4ZjhpPGdLLPnDWcKvTi4RKeGtnt+1sVcnGLawttu0& HTTP/1.1"

И в этом духе. Есть еще коротенькие:
GET /?fp=6JxLQD24zENI40
GET /?m=201409

Плюс есть еще с пидами:
GET /?pid=9PO4402G4&rpid=5PO84Q269
GET /?pid=9PO4402G4

Запросы какие-то странные, и их очень много чтобы считать разовым сканированием ботами на какую-то уязвимость.
Что-то мне кажеться что в первых запросах что-то зашифровано, но что именно - не хватает знаний понять. Прошу совета.

mysql не запускается, !*! yhbn9876, (MySQL) 12-Июн-18, 14:20  [ | | | ] [линейный вид] [смотреть все]
Добрый день ребята. У меня такая проблемка. MySql сначала подключается, а потом автоматически отчлючается, пишет, что не используется другими приложениями и поэтому отключается.
2018-06-12T10:52:10.298798Z 0 [ERROR] InnoDB: Unable to create temporary file; errno: 0
2018-06-12T10:52:10.298798Z 0 [ERROR] InnoDB: Plugin initialization aborted with error Generic error
2018-06-12T10:52:10.298798Z 0 [ERROR] Plugin 'InnoDB' init function returned error.
2018-06-12T10:52:10.298798Z 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2018-06-12T10:52:10.298798Z 0 [ERROR] Failed to initialize plugins.
2018-06-12T10:52:10.298798Z 0 [ERROR] Aborting

Выводит подобные ошибки, innoDB не инициализируется, подскажите пожалуйста.

  • gt оверквотинг удален Скорее всего, не хватает прав или места на дисковом разд, !*! PereresusNeVlezaetBuggy (ok), 15:21 , 12-Июн-18 (1)
    >[оверквотинг удален]
    > 2018-06-12T10:52:10.298798Z 0 [ERROR] InnoDB: Unable to create temporary file; errno:
    > 0
    > 2018-06-12T10:52:10.298798Z 0 [ERROR] InnoDB: Plugin initialization aborted with error
    > Generic error
    > 2018-06-12T10:52:10.298798Z 0 [ERROR] Plugin 'InnoDB' init function returned error.
    > 2018-06-12T10:52:10.298798Z 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE
    > failed.
    > 2018-06-12T10:52:10.298798Z 0 [ERROR] Failed to initialize plugins.
    > 2018-06-12T10:52:10.298798Z 0 [ERROR] Aborting
    > Выводит подобные ошибки, innoDB не инициализируется, подскажите пожалуйста.

    Скорее всего, не хватает прав или места на дисковом разделе. Почему errno выставлена 0 — не понятно, скорее всего, между местом возникновения ошибки и местом её вывода в программе она заботливо кем-то сбрасывается.

    Я бы запустил mysqld вручную, из-под strace -e open, и посмотрел, на чём он обламывается, а там уже делал выводы.

    сообщить модератору +/ответить
Перехват клавиатуры, !*! Андрей, (Perl) 20-Май-18, 15:27  [ | | | ] [линейный вид] [смотреть все]
Доброго времени суток!

Есть такая штука в перл, как перехват CTRL+C:

$SIG{INT} = \&tsktsk;
sub tsktsk {
  $SIG{INT} = \&tsktsk;
  #Выполняемый код, перед завершением программы      
  exit;
}

А как можно сделать подобное, но чтобы перехватывалось нажатие любой клавиши?

  • причем тут подобное он тут не коды перехватывает, а функцию в качестве обработч, !*! Pahanivo (ok), 22:37 , 20-Май-18 (1) –11 [VVV]
    > Доброго времени суток!
    > Есть такая штука в перл, как перехват CTRL+C:
    > $SIG{INT} = \&tsktsk;
    > sub tsktsk {
    >   $SIG{INT} = \&tsktsk;
    >   #Выполняемый код, перед завершением программы
    >   exit;
    > }
    > А как можно сделать подобное, но чтобы перехватывалось нажатие любой клавиши?

    причем тут подобное? он тут не коды перехватывает, а функцию в качестве обработчика сигнала прикручивает.

    сообщить модератору –11 +/ответить
  • модули на CPANhttp search cpan org dist Term-RawInput http search cpan org d, !*! михалыч (ok), 19:37 , 21-Май-18 (2)
    > Доброго времени суток!
    > Есть такая штука в перл, как перехват CTRL+C:
    > $SIG{INT} = \&tsktsk;
    > sub tsktsk {
    >   $SIG{INT} = \&tsktsk;
    >   #Выполняемый код, перед завершением программы
    >   exit;
    > }
    > А как можно сделать подобное, но чтобы перехватывалось нажатие любой клавиши?

    модули на CPAN
    http://search.cpan.org/dist/Term-RawInput/
    http://search.cpan.org/dist/TermReadKey/
    http://search.cpan.org/dist/Term-TermKey/

    если система FreeBSD то можно найти в портах
    /usr/ports/devel/p5-Term-RawInput
    /usr/ports/devel/p5-Term-ReadKey

    посмотреть можно здесь =>
    https://stackoverflow.com/questions/32489924/perl-termreadke...

    порт на TermKey отсутствует, но можно его и самому сделать

    сообщить модератору +/ответить
  • Тут проще вставку на ASM сделать , !*! redd (?), 18:38 , 23-Май-18 (9)
    > Доброго времени суток!
    > Есть такая штука в перл, как перехват CTRL+C:
    > $SIG{INT} = \&tsktsk;
    > sub tsktsk {
    >   $SIG{INT} = \&tsktsk;
    >   #Выполняемый код, перед завершением программы
    >   exit;
    > }
    > А как можно сделать подобное, но чтобы перехватывалось нажатие любой клавиши?

    Тут проще вставку на ASM сделать...

    сообщить модератору +/ответить
403 Forbidden при заходе на сервер, !*! evgeniy123, (nginx) 01-Май-18, 14:29  [ | | | ] [линейный вид] [смотреть все]
Хочу развернуть только на NGINX проект, но каждый раз получаю ошибку  403 Forbidden  при заходе на сервер. понять не могу почему так.
nginx/error.log

....
2018/05/01 04:45:43 [error] 1243#1243: *21 directory index of "/var/www/kebab/frontend/web/" is forbidden, client:
...

Сделал так:


chown www-data -R /var/www/kebab
chmod 777 -R /var/www/kebab

ps -ef|grep nginx

root      1242     1  0 Apr30 ?        00:00:00 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
www-data  1243  1242  0 Apr30 ?        00:00:00 nginx: worker process
root      2545  2364  0 05:19 pts/0    00:00:00 grep --color=auto nginx      


nginx.conf:


user www-data;
worker_processes auto;
pid /run/nginx.pid;

events {
        worker_connections 768;
        # multi_accept on;
}

http {

        ##
        # Basic Settings
        ##

        sendfile on;
        tcp_nopush on;
        tcp_nodelay on;
        keepalive_timeout 65;
        types_hash_max_size 2048;
        # server_tokens off;

        # server_names_hash_bucket_size 64;
        # server_name_in_redirect off;

        include /etc/nginx/mime.types;
        default_type application/octet-stream;

        ##
        # SSL Settings
        ##

        ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
        ssl_prefer_server_ciphers on;

        ##
        # Logging Settings
        ##

        access_log /var/log/nginx/access.log;
        error_log /var/log/nginx/error.log;

        ##
        # Gzip Settings
        ##

        gzip on;
        gzip_disable "msie6";
        
      include /etc/nginx/conf.d/*.conf;
        include /etc/nginx/sites-enabled/*;    
        
        
        

/etc/nginx/site-enable/kebab


# Implement upstream connection to PHP-FPM
# "phpfpm" here is a name for this upstream connection, which you can customize
# I create a custom upstream connection per vhost, to better segregate PHP processes by vhost
# To do the same, you need a unique upstream name, and a unique filename for your php5-fpm.sock file
upstream phpfpm {
    server unix:/var/run/php5-fpm.sock;
    #avoid sockets for nginx-fpm on Linux, they are good for BSD
    server 127.0.0.1:9000;
}

server {
    listen 80;
    server_name 85.203.117.20;

    set $base_root /var/www/kebab;
    root $base_root;

    access_log  /var/log/nginx/access.log;
    error_log   /var/log/nginx/error.log;

    #error_log /var/log/nginx/advanced.local.error.log warn;
    #access_log /var/log/nginx/advanced.local.access.log main;
    charset UTF-8;
    index index.php index.html;

    location / {
        root $base_root/frontend/web;
        try_files $uri $uri/ /frontend/web/index.php$is_args$args;

        # omit static files logging, and if they don't exist, avoid processing by Yii (uncomment if necessary)
        #location ~ ^/.+\.(css|js|ico|png|jpe?g|gif|svg|ttf|mp4|mov|swf|pdf|zip|rar)$ {
        #    log_not_found off;
        #    access_log off;
        #    try_files $uri =404;
        #}

        location ~ ^/assets/.+\.php(/|$) {
            deny all;
        }
    }
                                                      
                                                      
             location /admin {
        alias $base_root/backend/web/;

        # redirect to the URL without a trailing slash (uncomment if necessary)
        #location = /admin/ {
        #    return 301 /admin;
        #}

        # prevent the directory redirect to the URL with a trailing slash
        location = /admin {
            # if your location is "/backend", try use "/backend/backend/web/index.php$is_args$args"
            # bug ticket: https://trac.nginx.org/nginx/ticket/97
            try_files $uri /backend/web/index.php$is_args$args;
        }

        # if your location is "/backend", try use "/backend/backend/web/index.php$is_args$args"
        # bug ticket: https://trac.nginx.org/nginx/ticket/97
        try_files $uri $uri/ /backend/web/index.php$is_args$args;

        # omit static files logging, and if they don't exist, avoid processing by Yii (uncomment if necessary)
        #location ~ ^/admin/.+\.(css|js|ico|png|jpe?g|gif|svg|ttf|mp4|mov|swf|pdf|zip|rar)$ {
        #    log_not_found off;
        #    access_log off;
        #    try_files $uri =404;
        #}

        location ~ ^/admin/assets/.+\.php(/|$) {
            deny all;
        }
    }                          

    location ~ ^/.+\.php(/|$) {
        rewrite (?!^/((frontend|backend)/web|admin))^ /frontend/web$uri break;
        rewrite (?!^/backend/web)^/admin(/.+)$ /backend/web$1 break;

        fastcgi_pass 127.0.0.1:9000; # proxy requests to a TCP socket
        #fastcgi_pass unix:/var/run/php-fpm.sock; # proxy requests to a UNIX domain socket (check your www.conf file)
        fastcgi_split_path_info ^(.+\.php)(.*)$;
        include /etc/nginx/fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        try_files $fastcgi_script_name =404;
    }

    location ~ /\. {
        deny all;
    }
}                  

S NGINX не работают плотно

nginx+phpfpm =  Непонятен порядок обработки правил, !*! OldMonster, (nginx) 24-Апр-18, 11:52  [ | | | ] [линейный вид] [смотреть все]
ДВС.
freebsd 11.1, nginx,php - последние на начало апреля.
nginx отдаёт 400 вместо 444 при запросе.
т.е. фактически задача - отброс всех стран, кроме указанных.
И это работает, но до тех пор, пока не встречается странный запрос.
собственно, ВОПРОС: что это за дрянь и как с ней бороться. Должен уходить 444.
Подробности:
в конфиге стоит прямой редирект с http на https, но до https дело не доходит.
в логе вот такое:
51.38.12.21 - FR - [24/Apr/2018:06:05:44 +0500] my.domain.ru \x16\x03\x01\x02\x00\x01\x00\x01
\xFC\x03\x03Q\x15\xA6{7\x0E\xC3U\xD7\x044\x97T\xE0u\x13\xFB\xA5\x1E\x19\xA6b\xA9J\xF6\x13\x04
\xFA\x80\x01}\xF8\x00\x00\xDA\x00\x05\x00\x04\x00\x02\x00\x01\x00\x16\x003\x009\x00:\x00\x18
\x005\x00 400 166 "-" "-" "-"        0.032--
в запросах с get post - то, что и должно быть:
167.99.82.115 - GB - [24/Apr/2018:03:48:35 +0500] my.domain.ru GET / HTTP/1.0 444 0 "-"
"Mozilla/5.0" "-"     0.000--

nginx.conf:
worker_processes  1;
pid        /var/run/nginx.pid;

error_log  /var/log/n-error.log  notice;
load_module /usr/local/libexec/nginx/ngx_http_geoip_module.so;

events  { worker_connections  1024;}
http {
        server_tokens   off;
        include country.conf;
        include         mime.types;
        default_type    application/octet-stream;
        log_format vhf  '$remote_addr - $geoip_country_code $remote_user [$time_local]
$host $request ' '$status $body_bytes_sent "$http_referer" '     '"$http_user_agent"
"$http_x_forwarded_for" $request_time-$upstream_response_time';
        log_format vhfs '$remote_addr - $geoip_country_code $remote_user [$time_local]
https://$host $request ' '$status $body_bytes_sent "$http_referer" '     '"$http_user_agent"
"$http_x_forwarded_for"  $request_time-$upstream_response_time';
        access_log              /var/log/n-access.log  vhf;
        sendfile                on;
        #tcp_nopush             on;
        keepalive_timeout       65;
        gzip            on;
        error_page      403 404 500 502 503 504         = /err.html;
        proxy_intercept_errors on;
        recursive_error_pages on;


#################### my.domain.ru 80 ###################################
        server {
                include guard.conf;
                listen          x.x.x.x:80;
                server_name     my.domain.ru;
                rewrite ^/(.*)$ https://my.domain.ru/ permanent;
                location ~ /\.ht {
                    deny  all;
                }
        }


#################### my.domain.ru 443 ###
        server {
                server_name     my.domain.ru;
                include         guard.conf;
                include         err.conf;
                include         ssl.conf;
                location / {
                        root    /var/db/web/te/www;
                        include rootloc.conf;
                }
        }
}

guard.conf:
add_header X-Frame-Options "SAMEORIGIN";
add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; img-src 'self'; style-src 'self' 'unsafe-inline'; font-src 'self'; object-src 'none'";
add_header Strict-Transport-Security 'max-age=631138519; includeSubDomains; preload' always;
add_header X-Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; img-src 'self' blob data:";
add_header X-WebKit-CSP              "default-src 'self'; script-src 'self' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; img-src 'self' blob data:";
add_header X-Xss-Protection "1; mode=block" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-Proxy-Cache "EXPIRED" always;
add_header 'Referrer-Policy' 'origin';
server_tokens off;
add_header 'X-powered-by' "DDG";
set $a zero$http_user_agent;
if ($allowed_country = 2) {return 444;}
if ($request_method !~ ^(GET|POST)$ ) {return 444;}
if ($host !~ ^(my.domain.ru)$ ) {return 444;}
if ($a = "zero") {return 444;}
if ($http_user_agent ~* "Bot|zgrab"){return 444;}
if ($http_referer ~* "yandex|Yandex|Googl|googl"){return 444;}

country.conf
geoip_country /usr/local/share/GeoIP/GeoIP.dat;
map $geoip_country_code $allowed_country {
default 2;
RU 1;
AB 1;
AZ 1;
AM 1;
BY 1;
KZ 1;
MD 1;
TJ 1;
TM 1;
UZ 1;
}

инклуды ssl err не привожу - специфичные соответствующие настройки.

Работает всё так, как мне нужно, за исключением этих нестандартных запросов с хексами.
Не могу понять, почему ошибка отрабатывает раньше реврайта.
Как из победить? Надо, чтобы вместо отдачи кода 400 сервер разрывал связь (444).

  • gt оверквотинг удален Если это не результат кривого редиректа где-то на вашей , !*! PereresusNeVlezaetBuggy (ok), 01:56 , 26-Апр-18 (1)
    >[оверквотинг удален]
    > уходить 444.
    > Подробности:
    > в конфиге стоит прямой редирект с http на https, но до https
    > дело не доходит.
    > в логе вот такое:
    > 51.38.12.21 - FR - [24/Apr/2018:06:05:44 +0500] my.domain.ru \x16\x03\x01\x02\x00\x01\x00\x01
    > \xFC\x03\x03Q\x15\xA6{7\x0E\xC3U\xD7\x044\x97T\xE0u\x13\xFB\xA5\x1E\x19\xA6b\xA9J\xF6\x13\x04
    > \xFA\x80\x01}\xF8\x00\x00\xDA\x00\x05\x00\x04\x00\x02\x00\x01\x00\x16\x003\x009\x00:\x00\x18
    > \x005\x00 400 166 "-" "-" "-"      
    >  0.032--

    Если это не результат кривого редиректа где-то на вашей стороне, то эта дрянь больше похожа на кривой софт у клиента. Возможно, специально кривой — т.е., проверка сервера на вшивость. Ваш nginx абсолютно корректно возвращает код 400, так как тоже офигевает и сделать более ничего не может.

    Код 444 он возвратит когда будет прочитана и распознана хотя бы первая строка HTTP-запроса. А в вашем случае в первой строке какая-то хрень, там ни HTTP-метода, ни запрашиваемого пути, ни версии протокола, поэтому nginx просто сразу прощается. Мог бы, кстати, и 505 отвечать, но 400 всё же подходит больше в такой ситуации, согласитесь.

    Попробуйте отправить мусор на сервер и посмотрите на результат на экране и в логах:

    printf "ad asdad ljalsjdlaj lsjdljs lfasljf ljslfd\r\nlalalala\r\n" | nc address 80

    P.S.: Если интересно, раскодируйте переданную байтовую строку из текстового представления и засуньте в дизассемблер — не удивлюсь, если там окажется что-то осмысленное. :)

    сообщить модератору +/ответить
tcp over ssl/tls proxy, !*! Alexander, (Apache, http-серверы) 23-Апр-18, 13:27  [ | | | ] [линейный вид] [смотреть все]
Коллеги,

Есть некое приложение, которое должно передавать данные по защищенному каналу (TCP over TLS). Авторизация на сервере (прокси) происходит при помощи сертификатов. Обязательное условие - сервер должен уметь проверять клиентский сертификат на сервере OCSP и, при его недоступности, использовать CRL.

haproxy и nginx умеют все, что нужно, кроме проверки клиентских сертификатов по OCSP. apache умеет проверять клиентские сертификаты по OCSP, но не умеет (насколько я понял) проксировать TCP.

Можете подсказать, какой-нибудь прокси-сервер, который умеет это делать?

Заранее большое спасибо!

  • А подключение одно-единственное, или их может быть одновременно несколько В пер, !*! PereresusNeVlezaetBuggy (ok), 18:05 , 23-Апр-18 (1)
    > Коллеги,
    > Есть некое приложение, которое должно передавать данные по защищенному каналу (TCP over
    > TLS). Авторизация на сервере (прокси) происходит при помощи сертификатов. Обязательное
    > условие - сервер должен уметь проверять клиентский сертификат на сервере OCSP
    > и, при его недоступности, использовать CRL.
    > haproxy и nginx умеют все, что нужно, кроме проверки клиентских сертификатов по
    > OCSP. apache умеет проверять клиентские сертификаты по OCSP, но не умеет
    > (насколько я понял) проксировать TCP.
    > Можете подсказать, какой-нибудь прокси-сервер, который умеет это делать?

    А подключение одно-единственное, или их может быть одновременно несколько? В первом случае, насколько понимаю, может хватить «openssl s_server» или OpenBSD nc (местный netcat).

    сообщить модератору +/ответить
Apache игнорирует конфигурационные записи, !*! Аноним, (Apache, http-серверы) 02-Апр-18, 19:53  [ | | | ] [линейный вид] [смотреть все]
Доброго дня!
Имеется Апач 2.4 с mod_proxy и кучей ProxyPass
Изредка(!) часть из этих ProxyPass игнорируется и запросы падают с 404.
Куда копать?
Спасибо!
сайт php4 как быть, !*! Alex, (PHP) 20-Мрт-18, 15:47  [ | | | ] [линейный вид] [смотреть все]
Есть старенький сайт. Работает на php4.
Хотим обновить сервак на FreeBSD.
Если ставить новую фрю, то в портах только php5.
А нам бы на новую фрю старенький php и mysql.

Как быть в таком случае?
Кто то с похожей проблемой сталкивался ?



ПО для создания учебных онлайн-тестов (educational testing), !*! Аноним, (Разное) 26-Ноя-17, 13:21  [ | | | ] [линейный вид] [смотреть все]
Превед, камрады, я вот знаю есть ПО для установки готового форума на сервак. PHPBB вроде называется. А есть что-то подобное для тестов? (Тесты такие где один вопрос и несколько вариантов ответа или там несколько галочек и чтобы результаты нескольких ответов потом суммировались и всё такое) Не хотелось бы самому писать велосипед, наверняка что-то готовое есть, чтоб установил и сразу тесты разрабатывать.
Сам нашёл пока только оффлайн проги, типа, запускаешь на своём компе и тестируешься. Хотелось бы бесплатное и настраиваемое

Кто что порекомендует?
Заранее спасибо и всё такое

Почему апач слушает 80 порт только в локальной сети  ?, !*! darkshvein, (.htaccess, паролирование) 24-Фев-18, 16:54  [ | | | ] [линейный вид] [смотреть все]
Добрый день.
есть гипервизор с мостом (БРИДЖ)
на нём работает апач виртуалка. которая использует этот самый мост.

так вот. суть проблемы в том, что в локальной сети слушается 80 порт. а через интернет - нет. я сейчас просто воткнул кабель провайдера и напрямую подрубил именно в виртуалке рррое.
сканер из внешней сети говорит от доступности порта 22. а вот 80 там нет, и по айпи или буквам сайт не открывается. настроек никаких я не делал для внешки.

конфиг сети хоста.
https://pastebin.com/bb1mfNkQ


у виртуалки нет особых настроек сети, обычная статика.

кусок /etc/apache2/apache2.conf
<Directory /var/www/html/wordpress>
AllowOverride All
</Directory>

как запустить sh-скрипт на OpenBSD httpd? , !*! Clinch, (web-разработка, CGI) 16-Фев-18, 10:15  [ | | | ] [линейный вид] [смотреть все]
Добрый день!
Не получается запустить sh-скрипт который подсчитывает количество входов на сайт и выводит число на экран в браузере.
Как включить CGI на OpenBSD 6.2 httpd?
Web Server на OpenBSD 6.2 httpd.

без установки PHP и прочего. Про другие Веб сервера тоже речь не идет.

Код sh-скрипта примитивный - Читает переменную из файла, увеличивает на один, записывает в файл и выводит на экран браузера:
x=$(<var.txt)
y=$(($x+1))
echo $y > var.txt
echo $y

sh-файл настроен выполняемым с chmod +x, в терминалке OpenBSD 6.2 работает - увеличивает и выводит значение.

подскажите как выполнить его через браузер?  

Некорректное отображение страницы из php-скрипта., !*! korbnik, (HTML) 15-Фев-18, 17:42  [ | | | ] [линейный вид] [смотреть все]
Добрый день!

Файл /content/document/eis.php в кодировке UCS-2 Little Endian (unicode) из php-скрипта
отображается не корректно, введя в броузере так:

http://10.1.2.39/content/document/eis.php

Вот содержимое файла:

--------------------------begin--eis.php---------------------------------

<?
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
$APPLICATION->SetTitle("Проекты Фирмы");
?><div class="shadow">
  <div class="info_caption">Перечень автоматизированных систем (Проекты) Фирмы и сотрудников, ответственных за их администрирование (Приказ № 684-аа-18)</div>

  <div class="info_msg"><?include $_SERVER["DOCUMENT_ROOT"]."/content/document/files/eis4.html";?> </div>
</div>
<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?>

--------------------------end----eis.php---------------------------------

А если напрямую из броузера, то отображается корректно.

http://10.1.2.39/content/document/files/eis4.html

Как нужно настроить PHP чтобы отображалось корректно из PHP-скрипта?
Кодировку файла менять нельзя.

С уважением. Борис.

Как преобразовать вместе с кртинками html в doc или в pdf, !*! korbnik, (HTML) 05-Фев-18, 15:46  [ | | | ] [линейный вид] [смотреть все]
Добрый день!

Как преобразовать вместе с кртинками html в doc или в pdf ?

Заранее благодарен.

 
Пометить прочитанным Создать тему
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | Архив | Избранное | Мое | Новое | | |



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру