Nginx 代理的 webmin 仍然通过 HTTP 请求

Nginx 代理的 webmin 仍然通过 HTTP 请求

我有一个由 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;

相关内容