AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / server / Perguntas / 1162767
Accepted
rd1218
rd1218
Asked: 2024-07-19 19:24:31 +0800 CST2024-07-19 19:24:31 +0800 CST 2024-07-19 19:24:31 +0800 CST

Nginx não está bloqueando o acesso a .php

  • 772

Estou tentando bloquear nginxo acesso a todos .phpos arquivos. Pelo que entendi, o código abaixo deve funcionar (depois sudo systemctl restart nginx). Em vez disso, nginxestou encaminhando para o meu servidor, onde posso ver Event Viewero erro.

location ~ \.php$ {
        return 403;
}

Registro de acesso Nginx:

x.x.x.x - - [19/Jul/2024:08:09:17 -0300] "GET /test-user.php HTTP/1.1" 500 1405 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36"

ATUALIZAÇÃO - configuração completa

http {
        keepalive_timeout               60s;
        proxy_read_timeout              60s;
        proxy_send_timeout              60s;
        proxy_connect_timeout   5s;

        client_max_body_size    2M;

        sendfile                        on;
        tcp_nopush                      on;
        types_hash_max_size             2048;
        server_tokens                   off;

        server_names_hash_bucket_size   64;

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

        ssl_protocols                   TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
        ssl_prefer_server_ciphers       on;
        ssl_ciphers                     ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256>
        ssl_session_timeout             1d;
        ssl_session_cache               shared:MozSSL:10m;
        ssl_session_tickets             off;

        gzip on;

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

        include         /etc/nginx/block_bad_robots.conf;

        server  {
                listen          443 ssl;
                server_name     sw.contoso.com;

                error_log       /var/log/nginx/sw.contoso.com.error.log;
                access_log      /var/log/nginx/sw.contoso.com.access.log;

                ssl_certificate         /etc/certs/manual-fullchain.pem;
                ssl_certificate_key     /etc/certs/manual-privkey.pem;

                ssl_dhparam             /etc/certs/dhparams.pem;

                location ~ \.php$ {
                        return 403;
                }

                location ~* \.cgi {
                        return 403;
                }

                location ~* (\.env|\.aws) {
                        return 403;
                }

                location ~* ^/wp {
                        return 403;
                }

                location ^~ / {

                        if ($bad_robots) {
                                return 403;
                        }

                        proxy_pass              https://192.168.10.1:443;
                        proxy_set_header        Host                    $host;
                        proxy_set_header        X-Real-IP               $remote_addr;
                        proxy_set_header        X-Forwarded-For         $proxy_add_x_forwarded_for;
                        proxy_set_header        X-Forwarded-Proto       $scheme;
                }

                location /Settings {

                        if ($bad_robots) {
                                return 403;
                        }

                        client_max_body_size    100M;
                        proxy_pass              https://192.168.10.1:443;
                        proxy_set_header        Host                    $host;
                        proxy_set_header        X-Real-IP               $remote_addr;
                        proxy_set_header        X-Forwarded-For         $proxy_add_x_forwarded_for;
                        proxy_set_header        X-Forwarded-Proto       $scheme;
                }

                error_page      400 401 402 403 404 500 502 503 504 =200        /error/unauthorized.html;
                location = /error/unauthorized.html {
                        internal;
                        alias           /etc/nginx/html/error/;
                        try_files       /unauthorized.html =404;
                        access_log      /var/log/nginx/error.log;
                }
        }
    }
nginx
  • 1 1 respostas
  • 44 Views

1 respostas

  • Voted
  1. Best Answer
    Alexey Ten
    2024-07-19T19:58:23+08:002024-07-19T19:58:23+08:00

    https://nginx.org/r/location

    location ^~ / {evitar correspondência com locais de regexp. Basta remover ^~.

    Se o local de prefixo correspondente mais longo tiver o ^~modificador “ ” então as expressões regulares não serão verificadas .

    • 1

relate perguntas

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve