首页 > 解决方案 > 字体未通过 https 显示

问题描述

当我打开 SSL 时,我正在这个网站上工作,标题中的字体被替换为默认字体。我已阅读其他主题,但尚未找到适合我的解决方案。

CSS

@font-face {
font-family:"icomoon";
    src:url("../fonts/icomoon.eot?1cffn0");
    src:url("../fonts/icomoon.eot?1cffn0#iefix") format("embedded-opentype"),
url("../fonts/icomoon.ttf?1cffn0") format("truetype"),
url("../fonts/icomoon.woff?1cffn0") format("woff"),
url("../fonts/icomoon.svg?1cffn0#icomoon") format("svg");
font-weight:normal;
font-style:normal;
}

HTML

Nginx 服务器

{ listen 443 ssl default_server;
listen [::]:443 ssl;
server_name website.com;
root /home/forge/website.com;

# FORGE SSL (DO NOT REMOVE!)
ssl_certificate /etc/ssl/website-ssl/website.com.chained.crt;
ssl_certificate_key /etc/ssl/website-ssl/website.com.key;

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA$
ssl_prefer_server_ciphers on;
ssl_dhparam /etc/nginx/dhparams.pem;

add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; mode=block";
add_header X-Content-Type-Options "nosniff";

index index.html index.htm index.php;

charset utf-8;

# FORGE CONFIG (DOT NOT REMOVE!)
include forge-conf/website.com/server/*;

client_max_body_size 50M;

location / {
    try_files $uri $uri/ /index.php?$query_string;
}

任何人都可以对此有所了解。

标签: cssnginxhttps

解决方案


如果有任何第三方 url 请求(.css 文件)仍然是 http 代替 https,请检查浏览器控制台。

样本:

问题:http ://fonts.gstatic.com/s/opensans/v13/DXI1ORHCpsQm3Vp6mXoaTXhCUOGz7vYGh680lGh-uXM.woff

修复:https ://fonts.gstatic.com/s/opensans/v13/DXI1ORHCpsQm3Vp6mXoaTXhCUOGz7vYGh680lGh-uXM.woff


推荐阅读