T
T
th1s2016-03-12 14:46:40
Nginx
th1s, 2016-03-12 14:46:40

404 Not Found nginx, how to fix?

Hello everyone, when accessing site.ru/admin, it asks for passwords and login. But after login it gives 404 error.

server {
  listen 80 default_server;
  listen [::]:80 default_server;

  # SSL configuration
  #
  # listen 443 ssl default_server;
  # listen [::]:443 ssl default_server;
  #
  # Note: You should disable gzip for SSL traffic.
  # See: https://bugs.debian.org/773332
  #
  # Read up on ssl_ciphers to ensure a secure configuration.
  # See: https://bugs.debian.org/765782
  #
  # Self signed certs generated by the ssl-cert package
  # Don't use them in a production server!
  #
  # include snippets/snakeoil.conf;

  root /var/www/public;

  # Add index.php to the list if you are using PHP
  index index.php index.html index.htm index.nginx-debian.html;

  server_name _;

  location / {
    # First attempt to serve request as file, then
    # as directory, then fall back to displaying a 404.
    try_files $uri $uri/ /index.php$is_args$args;
  }

  # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
  #
  location ~ \.php$ {
    include snippets/fastcgi-php.conf;
  #
  #	# With php5-cgi alone:
  #	fastcgi_pass 127.0.0.1:9000;
  #	# With php5-fpm:
    fastcgi_pass unix:/var/run/php5-fpm.sock;
  }

  location /phpmyadmin {
        root /usr/share/;
        index index.htm index.html index.php;
        location ~ ^/phpmyadmin/(.+.php)$ {
            try_files $uri = 404;
            root /usr/share/;
            # fastcgi_pass 127.0.0.1:9000; # раскомментировать при использовании php5-cgi
            fastcgi_pass unix:/var/run/php5-fpm.sock; # раскомментировать при использовании php5-fpm
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $request_filename;
            include /etc/nginx/fastcgi_params;
        }
        location ~* ^/phpmyadmin/(.+.(html|ico|xml|css|jpg|png|js|txt|gif|jpeg))$ {
            root /usr/share/;
        }
    }
    location /phpMyAdmin {
        rewrite ^/* /phpmyadmin last;
    }

  location /admin {
    satisfy  any; # разрешить доступ если авторизация прошла успешно

    auth_basic		"admin site";
    auth_basic_user_file	/var/www/.htpasswd;
  }

  # deny access to .htaccess files, if Apache's document root
  # concurs with nginx's one
  #
  location ~ /\.ht {
    deny all;
  }
}

if you remove
location /admin {
    satisfy  any; # разрешить доступ если авторизация прошла успешно

    auth_basic		"admin site";
    auth_basic_user_file	/var/www/.htpasswd;
  }

then everything is fine, but I need authorization in this section. I really ask for help

Answer the question

In order to leave comments, you need to log in

2 answer(s)
A
Andrey Burov, 2016-03-12
@BuriK666

look at the error_log there nginx will write what file it was looking for and did not find.

T
TyzhSysAdmin, 2016-03-12
@POS_troi

Add a line to the /admin/ section
By the way, what's the index file in that directory anyway?

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question