Рейтинг:0

Сервер Ubuntu не разрешает домену доступ к проекту laravel [405]

флаг cn

У меня проблема, когда к моему проекту laravel обращается мой статический IP-адрес в Azure, но не из домена, с которым я его связал:

Я использую nginx и ufw.

Это error.log для моего Nginx:

конфигурация nginx 
сервер {
    слушать 80;
    слушать [::]:80;
    имя_сервера домен;
    корень /var/www/app/public;

    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-XSS-защита "1; режим = блок";
    add_header X-Content-Type-Options "nosniff";

    индекс index.php;

    кодировка utf-8;

    место расположения / {
        try_files $uri /index.php?$query_string;
    }

    location = /favicon.ico { access_log off; log_not_found выключен; }
    location = /robots.txt { access_log off; log_not_found выключен; }

    страница_ошибки 404 /index.php;

    расположение ~ \.php$ {
        fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        включить fastcgi_params;
    }

    расположение ~ /\.(?!известно).* {
        отрицать все;
    }
}

Что мне делать? какое правило добавить?

19.05.2022 11:25:42 [ошибка] 586486#586486: *1562 доступ запрещен правилом, клиент: 51.79.29.48, сервер: домен, запрос: "GET /.env HTTP/1.1", хост: "ip "
19.05.2022 11:32:22 [ошибка] 586486#586486: *1563 доступ запрещен правилом, клиент: 69.162.243.124, сервер: домен, запрос: "GET /.env HTTP/1.1", хост: "ip "
19.05.2022 11:45:07 [ошибка] 586486#586486: *1604 доступ запрещен правилом, клиент: 185.254.196.223, сервер: домен, запрос: "GET /.env HTTP/1.1", хост: "ip "
19.05.2022, 12:38:43 [уведомление] 600838#600838: начался сигнальный процесс```

К действию от
-- ------ ----
22/tcp (OpenSSH) РАЗРЕШИТЬ ВХОД ВСЕГДА                  
80/tcp (Nginx HTTP) РАЗРЕШИТЬ ВХОД В любом месте                  
80 ДОПУСКАЙТЕ ВСЕГДА                  
443 РАЗРЕШИТЬ ВСЕГДА                  
22/tcp (OpenSSH (v6)) РАЗРЕШИТЬ ВХОД В любом месте (v6)             
80/tcp (Nginx HTTP (v6)) РАЗРЕШИТЬ ВХОД В любом месте (v6)             
80 (v6) РАЗРЕШИТЬ ВХОД ВСЕГДА (v6)             
443 (v6) РАЗРЕШИТЬ ВСЕГДА (v6) 
Rose Riyadh avatar
флаг cn
@IvanShatsky Я удалил его и перезапустил nginx, и все та же проблема.
Ivan Shatsky avatar
флаг gr
Это не связано с брандмауэром, похоже, что какое-то место запрещает доступ к скрытым файлам, например. `место/. { отрицать все; }`
флаг in
Пожалуйста, предоставьте вашу конфигурацию nginx. Мы не можем догадаться.
Rose Riyadh avatar
флаг cn
@GeraldSchneider сделал
флаг in
Я только что заметил: в записях журнала упоминается только `/.env`. Вы уверены, что хотите сделать свой файл .env общедоступным? Это кажется довольно хорошей предосторожностью, чтобы предотвратить утечку вашей конфигурации.
Rose Riyadh avatar
флаг cn
@GeraldSchneider, как я могу сделать это приватным, если вы можете мне помочь?
флаг in
Я не понимаю, что ты имеешь в виду. Мне просто интересно, действительно ли у вас проблемы с конфигурацией сервера или вы только думаете, что есть.
Rose Riyadh avatar
флаг cn
Я не хочу публиковать его, и поэтому мне нужна помощь, потому что я не знаю, почему он не использует сами маршруты, хотя он отлично работает, когда я обращаюсь к нему по его IP @GeraldSchneider.
Рейтинг:0
флаг in

Вы должны добавить все индексные файлы в свою конфигурацию,

sudo nano etc/nginx/sites-enabled

индекс index.php index.html index.hml;

И конфигурация должна быть такой:

сервер {
слушать 80;
server_name server_domain_or_IP;
корень /var/www/app/public;

add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-защита "1; режим = блок";
add_header X-Content-Type-Options "nosniff";

индекс index.html index.htm index.php;

кодировка utf-8;

место расположения / {
    try_files $uri $uri/ /index.php?$query_string;
}

location = /favicon.ico { access_log off; log_not_found выключен; }
location = /robots.txt { access_log off; log_not_found выключен; }

страница_ошибки 404 /index.php;

расположение ~ \.php$ {
    fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
    включить fastcgi_params;
}

расположение ~ /\.(?!известно).* {
    отрицать все;
}
}

Чтобы убедиться, что ваша конфигурация не содержит синтаксических ошибок, используйте

судо nginx-t

Примечание. Если вы поддерживаете брандмауэр с консоли, не используйте ufw для разрешения порта.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.