Tive o mesmo problema!
Encontrei a resposta aqui, link
Porque estamos adicionando ^ ~ estamos deixando para trás algumas outras configurações (não tenho certeza porque precisamos adicionar isso, mas foi a única maneira de fazê-lo realmente chamar a autenticação :()
include /etc/nginx/fastcgi_params;
fastcgi_pass unix:/var/lib/php5-fpm/web11.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_intercept_errors on;
Eu tentei várias combinações para ver o que era / não necessário e cada linha é necessária. Eu queria entender melhor essas coisas.
ATUALIZAÇÃO: 27 de julho de 2016:
Então fiz algumas leituras e finalmente entendi por que temos esse problema.
Em resumo, quando instalamos o FastCGI e o php-fpm, ele cria uma diretiva nos arquivos do servidor nginx (que depende da instalação do servidor).
Então, no meu eu tenho o seguinte ...
location ~ \.php$ {
include snippets/fastcgi-php.conf;
#
# # With php7.0-cgi alone:
# fastcgi_pass 127.0.0.1:9000;
# # With php7.0-fpm:
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
Como você perceberá, essas diretivas estão no local e não nas configurações globais. Como queremos proteger uma pasta específica, essas diretivas não são herdadas. Portanto, precisamos declará-lo novamente.
Se quiséssemos seguir o princípio DRY ("Don't Repeat Yourself"), então declararíamos o PHP-fpm e o FastCGI nas configurações globais. Podemos fazer isso movendo-o para baixo (por exemplo, mas ele precisa estar fora da diretiva location). Aqui está um exemplo.
root /var/www/html;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_index index.php;
Espero que isso ajude. Percebi o que precede lendo link
Isenção de responsabilidade: Não sou profissional, por isso, se você perceber que os erros são legais, é só me avisar e esperamos atualizar.