使用兰空图床时无法加载谷歌字体以及解决方法
| 字数总计:572|阅读时长:2 分钟 | 阅读量:187
发现问题
在使用兰空图床 2.1 版本时,做 Https 反代后访问域名突然一直卡住,通过控制台发现有一个资源无法访问了,查询原因后是谷歌字体加载不出来了,可能是被墙了,追溯源码后发现兰空在三处地方使用了这一资源

https://github.com/lsky-org/lsky-pro/blob/bb37a11bfbd5e072d7e0bec234e9220d434396c0/resources/views/layouts/app.blade.php#L13
https://github.com/lsky-org/lsky-pro/blob/bb37a11bfbd5e072d7e0bec234e9220d434396c0/resources/views/layouts/guest.blade.php#L13
https://github.com/lsky-org/lsky-pro/blob/bb37a11bfbd5e072d7e0bec234e9220d434396c0/resources/views/install.blade.php#L10
解决过程
我是用兰空图床的 docker 版本进行部署的:cold-pig/LskyPro-Docker: ☁️兰空图床 (Lsky Pro) - Docker 自动构建,这样部署的好处是可以借助 Action 将兰空图床的最新版本推送到 docker 官方库上,使用到最新版本的功能。
我加上了 Https 反代:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| server { listen 80; server_name kl.shinie.top; rewrite ^(.*)$ https://${server_name}$1 permanent; }
server { listen 443 ssl; ssl_certificate /etc/ssl/kl.shinie.top/kl.shinie.top.pem; ssl_certificate_key /etc/ssl/kl.shinie.top/kl.shinie.top.key; ssl_session_cache shared:SSL:4m; ssl_session_timeout 10m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; server_name kl.shinie.top; location /{ proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $host:$server_port; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Host $http_host; proxy_set_header X-Forwarded-Port $server_port; proxy_set_header X-Forwarded-Proto $scheme; proxy_pass http://127.0.0.1:9110/; client_max_body_size 20000m; } }
|
出现这一问题的时候我先浏览器访问了一下谷歌字体:https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700&display=swap
发现无法访问,排除是反代造成的问题

后面尝试换浏览器、重装图床等方法还是无法解决问题。最后妥协了:不用这个字体了。因为是在 docker 部署,可以使用以下命令删除使用谷歌字体的代码:
1 2 3 4 5
| docker exec -it lskypro sed -ie '/fonts.googleapis.com/d' /var/www/html/resources/views/install.blade.php
docker exec -it lskypro sed -ie '/fonts.googleapis.com/d' /var/www/html/resources/views/layouts/app.blade.php
docker exec -it lskypro sed -ie '/fonts.googleapis.com/d' /var/www/html/resources/views/layouts/guest.blade.php
|
如果不是 docker 部署,可以在兰空图床安装目录下找到以下三个文件删除谷歌字体链接即可:
resources/views/install.blade.php
resources/views/layouts/app.blade.php
resources/views/layouts/guest.blade.php