前言
虽然 360 有免费的 Google Fonts 等的代理服务,但却只支持 HTTP ,对于使用 HTTPS 的站点来说使用还是有些麻烦的,而且这个 CDN 在不同网络下似乎有些不太稳定。 360 的免费 CDN 已经迁移到了 https://cdn.baomitu.com/ ,支持 HTTPS 和 HTTP2 ,经测试国内国外访问速度都很好。而为了解决本站的字体问题,果断使用 Nginx 反代 Google Fonts。Nginx 配置文件如下。
反代 fonts.googleapis.com
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
server {
listen 80;
listen [::]:80;
server_name fonts.easonyang.com;
location ^~ /.well-known/acme-challenge/ {
default_type "text/plain";
root /var/www/letsencrypt;
}
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name fonts.easonyang.com;
ssl_certificate /etc/lets-encrypt/easonyang/easonyang.chained.crt;
ssl_certificate_key /etc/lets-encrypt/easonyang/easonyang.com.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
location / {
proxy_pass https://fonts.googleapis.com;
proxy_buffering off;
proxy_cookie_domain fonts.googleapis.com fonts.easonyang.com;
proxy_redirect https://fonts.googleapis.com/ /;
proxy_set_header X-Real_IP $remote_addr;
proxy_set_header User-Agent $http_user_agent;
proxy_set_header Accept-Encoding '';
proxy_set_header referer "https://fonts.googleapis.com$request_uri";
subs_filter_types text/css text/xml text/javascript;
subs_filter fonts.googleapis.com fonts.easonyang.com;
}
location ^~ /.well-known/acme-challenge/ {
default_type "text/plain";
root /var/www/letsencrypt;
}
}
|
反代 fonts.gstatic.com
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
server {
listen 80;
listen [::]:80;
server_name gstatic.easonyang.com;
location ^~ /.well-known/acme-challenge/ {
default_type "text/plain";
root /var/www/letsencrypt;
}
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name gstatic.easonyang.com;
ssl_certificate /etc/lets-encrypt/easonyang/easonyang.chained.crt;
ssl_certificate_key /etc/lets-encrypt/easonyang/easonyang.com.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
location / {
proxy_pass https://fonts.gstatic.com;
proxy_buffering off;
proxy_cookie_domain fonts.gstatic.com gstatic.easonyang.com;
proxy_redirect https://fonts.gstatic.com/ /;
proxy_set_header X-Real_IP $remote_addr;
proxy_set_header User-Agent $http_user_agent;
proxy_set_header Accept-Encoding '';
proxy_set_header referer "https://fonts.gstatic.com$request_uri";
subs_filter_types text/css text/xml text/javascript;
subs_filter fonts.gstatic.com gstatic.easonyang.com;
}
location ^~ /.well-known/acme-challenge/ {
default_type "text/plain";
root /var/www/letsencrypt;
}
}
|