侧边栏壁纸
博主头像
进一步,海阔天空 博主等级

进一步,海阔天空

  • 累计撰写 140 篇文章
  • 累计创建 19 个标签
  • 累计收到 7 条评论

目 录CONTENT

文章目录

Nginx通过proxy_pass把https请求转发到http时出现错误Mixed Content的解决办法

海阔天空
2022-05-27 / 0 评论 / 0 点赞 / 482 阅读 / 0 字

后端的WordPress站点是通过http发布的,前端域名配置部分把所有的http请求强制转发到https,这时候出现Mixed Content错误,该如何解决呢?

这是nginx配置的片段:

################## mydomain ###################
#后台web服务,通过docker部署
upstream mydomain {
    server ip:8080 weight=1;
}
server {
    listen 80;
    server_name  mydomain.com www.mydomain.com;
    #所有http请求强制转发到https
    rewrite ^(.*)$  https://$host$1 permanent;
}

server {
    #listen       80;
    listen       443;
    server_name  www.mydomain.com;

    #access_log  logs/api.zfwx.com  main;

    location / {
        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;
        proxy_pass  http://mydomain;
    }

    #证书文件名称
    ssl_certificate conf.d/www.mydomain.com_chain.crt; 
    #私钥文件名称
    ssl_certificate_key conf.d/www.mydomain.com_key.key; 
    ssl_session_timeout 5m;
    #请按照以下协议配置
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 
    #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; 
    ssl_prefer_server_ciphers on;
}

只需要在nginx的配置文件中加入这么一行配置即可:
add_header Content-Security-Policy upgrade-insecure-requests;

0

评论区