我正在尝试在我的Web服务器上运行默认的Blazor WebAssembly项目模板。本地运行时,该项目没有任何问题。但是当我将其部署到服务器后就出现了问题。
我可以成功地进入不需要身份验证的任何页面。但是,当我尝试进入需要登录的页面时,我会看到如下消息:
尝试登录时出错:'网络错误'
在Web浏览器控制台中,我可以看到以下内容:
阻止加载混合活动内容“http://[subdomain.domain.com]/.well-known/openid-configuration”
在Firefox的“网络”选项卡中,请求被标记为“Blocked”(已阻止)。
我的Web服务器运行在Nginx上,充当反向代理。我计划在Internet和Nginx之间保持HTTPS加密配置。Nginx与其他服务之间的通信应该是通过普通HTTP进行的。这是我的Nginx配置:
server {
listen 80;
location / {
return 301 https://$host$request_uri;
}
}
[...]
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name subdomain.domain.com;
ssl_certificate /etc/nginx_ssl/live/fullchain.pem;
ssl_certificate_key /etc/nginx_ssl/live/privkey.pem;
ssl_session_cache builtin:1000 shared:SSL:10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://blazorapp:80;
proxy_redirect off;
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;
proxy_set_header X-Forwarded-Host $server_name;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
我的猜测
从浏览器错误信息中可以看出,浏览器尝试通过HTTP而不是HTTPS访问.well-known/openid-configuration
。问题可能就在这里。
你有任何想法出错的原因是什么吗?