我相信这是不可能的,但我认识的人坚持认为它有效。我什至不知道要尝试哪些参数,而且我还没有在任何地方找到此文档。
我试过http://myserver.com/~user=username&password=mypassword但它不起作用。
您能否确认实际上不可能通过 HTTP 参数(GET 或 POST)传递用户/密码?
我有一个相对简单的配置:
upstream appserver-1 {
server unix:/var/www/example.com/app/tmp/gunicorn.sock fail_timeout=0;
}
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://appserver-1;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
auth_basic "Restricted";
auth_basic_user_file /path/to/htpasswd;
}
location /api/ {
auth_basic off;
}
}
Run Code Online (Sandbox Code Playgroud)
目标是在整个网站上使用基本身份验证,除了在/api/子树上。虽然它确实适用于基本身份验证,但其他指令proxy_pass也不起作用/api/。
是否可以仅禁用基本身份验证,同时保留其他指令而不复制和粘贴所有内容?
我正在开发一个使用 facebook 登录的应用程序。到目前为止,它不是公开的,并且受 nginx 中的 http 基本身份验证保护。是否可以禁用 facebook ip 范围的 http auth,以便我们的测试人员也可以测试 facebook 功能?如果可能,请包含示例配置片段。
我在使用 Nginx 和 Jenkins (Hudson) 时遇到了一些麻烦。我正在尝试使用 Nginx 作为具有 HTTP 基本身份验证的 Jenkins 实例的反向代理。
到目前为止它有效,但我不知道如何使用身份验证用户名传递标头。
location / {
auth_basic "Restricted";
auth_basic_user_file /usr/share/nginx/.htpasswd;
sendfile off;
proxy_pass http://192.168.178.102:8080;
proxy_redirect default;
proxy_set_header Host $http_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-User $http_authorization;
proxy_max_temp_file_size 0;
#this is the maximum upload size
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}
Run Code Online (Sandbox Code Playgroud) 我正在拨打 curl 电话
curl -v ... https://...
Run Code Online (Sandbox Code Playgroud)
并且详细输出包含
....
* ALPN, offering http/1.1
* SSL connection using TLS1.2 / ECDHE_RSA_AES_128_GCM_SHA256
* server certificate verification OK
....
* ALPN, server did not agree to a protocol
* Server auth using Basic with user 'api'
> POST /v3/pindertek.com/messages HTTP/1.1
> Host: api.mailgun.net
> Authorization: Basic sdfsdfsdfsadfsdfsdfsadfsadfsadfsdfsdfasdfsdf=
....
< HTTP/1.1 100 Continue
< HTTP/1.1 200 OK
......
Run Code Online (Sandbox Code Playgroud)
我的问题是:
可以看到TLS证书验证成功。但是随后的消息“ALPN,服务器不同意协议”和“使用 Basic 和用户 'api' 的服务器身份验证”并不能激发充分的信心。
我希望它只是指在 TLS 加密协议下/内/上使用的单独层协议,但我不知道。
更详细的详细输出: …
我正在设置 nginx 来为 Mercurial 存储库提供服务。它在根本不使用基本身份验证或当我完全使用基本身份验证时有效。
我想要做的是只对 POST 请求使用基本身份验证,因此任何人都可以获取访问权限,但只有经过身份验证的用户才能推送。
我尝试了以下,
if ($request_method = POST) {
auth_basic "Restricted";
auth_basic_user_file /path/to/userfile
}
Run Code Online (Sandbox Code Playgroud)
但是它抱怨“此处不允许使用 auth_basic 指令”。
我该如何解决这个问题?
我用satisfied和basic_auth保护了一个目录,但似乎验证没有存储在cookie中,一段时间后它被删除,似乎它是ip或基于某些东西。因此,如果我将网站打开半小时,我会登录一次和前夕,它不会重新请求验证。
有没有办法设置超时?即,访问 10 分钟后,如果单击文件必须再次登录?
我尝试从受保护的网站中排除子网址“/shop/api”。它在 Apache/2.2.15 上的不同服务器上运行良好,但现在不适用于 Apache/2.4.7?它总是要求进行基本身份验证。知道我做错了什么吗?
AuthType Basic
AuthName 'Authentication required'
AuthUserFile /var/www/vhosts/pwd/.htpasswd
# Allow access to excluded diretories
SetEnvIf Request_URI ^/shop/api/ noauth=1
Order deny,allow
Satisfy any
Deny from all
Require valid-user
Allow from env=noauth
Run Code Online (Sandbox Code Playgroud) 我如何实现页面保护(asp.net mvc 应用程序),所以当我点击主页或应用程序中的任何其他页面时,我会在浏览器中弹出登录对话框
我正在寻找类似于 Apache.htaccess并且.htpasswd正在做的事情。
我有 IIS 7.5/Windows Server 2008 R2 网络版。
iis authentication .htaccess htpasswd http-basic-authentication
由于不同的原因,我Azure's App Service用来提供静态文件。我想确保这种访问Http Basic Authentication足以满足我的目的。我怎样才能做到这一点?我尝试上传,.htpasswd但似乎不起作用。
我没有使用 ASP.NET,所以没有办法在代码中做到这一点。在 Azure 的门户中,我在 App Service -> Authentication/Authorization 下看到了 Google、Facebook、Twitter 登录等选项,但这对我来说是巨大的开销。