我正在尝试将代理和.NET MVC应用程序转发给NGINX后面的IdentityServer3。作为概念证明,我在笔记本上的VirtualBox VM中运行NGINX。登录过程似乎正常工作,直到我对用户进行身份验证并重定向到应用程序之后。在打开IdentityServer3的所有日志记录后,我可以看到没有返回错误,我希望创建的令牌被创建等等。但是我也注意到,当登录的响应消息没有设置.AspNet.Cookies cookie时。我相信这就是问题。
我怀疑在我的环境中这是一种愚蠢的设置问题。我在我的Windows主机文件中将虚拟机的IP地址定义为goober.mydomain.com。我的NGINX配置文件如下。有没有人注意到我做错了什么?
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
server {
large_client_header_buffers 4 32k;
location /phoenix {
rewrite ^/phoenix(.*) /$1 break;
proxy_pass http://USSTP90000005/;
}
location /api/i19n {
proxy_pass http://USSTP90000005:83/;
}
location /api/login {
proxy_pass http://USSTP90000005:84/api/login;
}
location /api/users {
proxy_pass http://USSTP90000005:84/;
}
location /id {
rewrite ^/id(.*) /$1 break;
proxy_pass http://USSTP90000005:84/;
proxy_cookie_path /identity /;
}
location /identity {
proxy_pass http://USSTP90000005:84/identity/;
}
location /templates {
proxy_pass http://USSTP90000005:84/templates/;
}
location /bundles {
proxy_pass http://USSTP90000005:84/bundles/;
}
}
#include /etc/nginx/conf.d/*.conf;
#include /etc/nginx/mime.types;
#default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
答案 0 :(得分:0)
我对NGinx并不太熟悉,但你似乎并没有在它和它之间做过什么。这些网站。这可能是您遇到麻烦的原因,因为Identity Server&客户希望使用SSL。您可能需要禁用ssl要求,但是然后让NGinx在它之间执行SSL。浏览器。