我有一个由 nginx 服务器代理的 webmin 安装。
我的 nginx 配置如下:
server {
listen 80;
server_name mysite;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl http2;
include snippets/ssl.conf;
## Your website name goes here.
server_name mysite;
location / {
proxy_pass http://127.0.0.1:10000/;
proxy_redirect http://127.0.0.1:10000/ https://mysite/;
proxy_set_header Host $host;
}
}
除 webmin 的某些部分外,一切正常,我得到了:
Mixed Content: The page at 'https://mysite/' was loaded over HTTPS, but requested an insecure form action 'http://mysite/useradmin/index.cgi?mode=users'. This request has been blocked; the content must be served over HTTPS.
我也尝试过设置将非 SSL 请求重定向到 SSL 模式?是的,但没有成功。
答案1
这可能是缓存问题。尝试使用私人/隐身窗口或其他浏览器,看看问题是否仍然存在。
如果确实如此,您可以尝试将这些标题添加到您的location
块中:
proxy_set_header X-Forwarded-Ssl on;
proxy_set_header X-Forwarded-Proto https;