使用 expo google 字体通过 https 加载时,我的 React 本机网站会发出多个混合内容警告
My react native site gives multiple mixed content warnings when loading over https using expo google fonts
我正在开发一个使用 React Native 编码的网站。我决定使用一些 Google 字体,因为它们很容易实现。一切正常,直到我开始使用 Traefik 作为我网站的反向代理,并且我决定使用 https 确保它的安全。唯一的问题是,现在当它加载时,它会针对不安全的字体抛出 15 混合内容 警告。
这就是我将字体加载到我的应用程序中的方式...
import {
useFonts,
Pacifico_400Regular,
ComicNeue_400Regular,
JosefinSans_400Regular,
BalsamiqSans_400Regular,
Inconsolata_400Regular,
} from '@expo-google-fonts/dev';
import { AppLoading } from 'expo';
function BodyText(props) {
let [fontsLoaded] = useFonts({
Pacifico_400Regular,
ComicNeue_400Regular,
JosefinSans_400Regular,
BalsamiqSans_400Regular,
Inconsolata_400Regular,
});
这是我遇到的错误...
混合内容:'' 的页面是通过 HTTPS 加载的,但请求了不安全的字体''。此请求已被阻止;内容必须通过 HTTPS 提供。
我不确定如何解决这个问题,因为没有对 http 的隐式引用,我可以将其更改为 https。
编辑:
感谢 Emanuele Scarabattoli
解决了问题
我把上面的代码改成了
import { useFonts, Pacifico_400Regular } from '@expo-google-fonts/pacifico';
import { ComicNeue_400Regular } from '@expo-google-fonts/comic-neue';
import { JosefinSans_400Regular } from '@expo-google-fonts/josefin-sans';
import { BalsamiqSans_400Regular } from '@expo-google-fonts/balsamiq-sans';
import { Inconsolata_400Regular } from '@expo-google-fonts/inconsolata';
这些是生产进口。
非常感谢您的帮助!
问题似乎与 @expo-google-fonts/dev
包本身有关,特别是与此文件有关:
https://github.com/expo/google-fonts/blob/master/font-packages/dev/index.js
如您所见,所有字体都加载到 HTTP
而不是 HTTPS
。
您应该考虑改用 @expo-google-fonts/inter
:
https://github.com/expo/google-fonts#usage
或者考虑到这里看看:
我正在开发一个使用 React Native 编码的网站。我决定使用一些 Google 字体,因为它们很容易实现。一切正常,直到我开始使用 Traefik 作为我网站的反向代理,并且我决定使用 https 确保它的安全。唯一的问题是,现在当它加载时,它会针对不安全的字体抛出 15 混合内容 警告。
这就是我将字体加载到我的应用程序中的方式...
import {
useFonts,
Pacifico_400Regular,
ComicNeue_400Regular,
JosefinSans_400Regular,
BalsamiqSans_400Regular,
Inconsolata_400Regular,
} from '@expo-google-fonts/dev';
import { AppLoading } from 'expo';
function BodyText(props) {
let [fontsLoaded] = useFonts({
Pacifico_400Regular,
ComicNeue_400Regular,
JosefinSans_400Regular,
BalsamiqSans_400Regular,
Inconsolata_400Regular,
});
这是我遇到的错误...
混合内容:'' 的页面是通过 HTTPS 加载的,但请求了不安全的字体''。此请求已被阻止;内容必须通过 HTTPS 提供。
我不确定如何解决这个问题,因为没有对 http 的隐式引用,我可以将其更改为 https。
编辑:
感谢 Emanuele Scarabattoli
解决了问题我把上面的代码改成了
import { useFonts, Pacifico_400Regular } from '@expo-google-fonts/pacifico';
import { ComicNeue_400Regular } from '@expo-google-fonts/comic-neue';
import { JosefinSans_400Regular } from '@expo-google-fonts/josefin-sans';
import { BalsamiqSans_400Regular } from '@expo-google-fonts/balsamiq-sans';
import { Inconsolata_400Regular } from '@expo-google-fonts/inconsolata';
这些是生产进口。 非常感谢您的帮助!
问题似乎与 @expo-google-fonts/dev
包本身有关,特别是与此文件有关:
https://github.com/expo/google-fonts/blob/master/font-packages/dev/index.js
如您所见,所有字体都加载到 HTTP
而不是 HTTPS
。
您应该考虑改用 @expo-google-fonts/inter
:
https://github.com/expo/google-fonts#usage
或者考虑到这里看看: