Estou usando o ubuntu 14.04, em que o apache está sendo executado na porta: 8080 e o Nginx está sendo executado na porta: 80
Estou usando o seguinte código para acessar as páginas do Apache usando nginx com minha própria página de login para autenticação, em vez da página de login padrão:
server {
listen 80;
# listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
root /var/www/;
index index.php index.html;
# Make site accessible from http://localhost/
server_name localhost;
location ~ \.php$ {
proxy_pass http://localhost:8080;
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;
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/.htpasswd;
#proxy_set_header Authorization "Basic YWRtaW46YWRtaW4=";
error_page 405 =200 $uri;
}
}
E minha página de login é index.php:
<!DOCTYPE html>
<head>
<title>Login Form</title>
<!--[if lt IE 9]><script src="//html5shim.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
</head>
<body>
<section class="container">
<div class="login">
<h1>Login to Apache using nginx</h1>
<form method="post" action="index.html">
<p><input type="text" name="login" value="" placeholder="Username" required></p>
<p><input type="password" name="password" value="" placeholder="Password" required></p>
<p class="submit"><input type="submit" name="commit" value="Login"></p>
</form>
</div>
</section>
</body>
</html>
E eu defini a senha em: /etc/nginx/.htpasswd
Meu problema é quando estou acessando a página que ele abre index.php está correto
eu estou inserindo senha correta ou incorreta toda vez que ele está exibindo a mesma página dizendo:
405 não permitido nginx / 1.4.6 (Ubuntu)
Com a credencial errada, tudo bem, mas quando estou dando a credencial certa, devo permitir que eu acesse minha página.
Por favor me ajude
Tags nginx