后端的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;
评论区