我正在自己的开发服务器上开发一个网站。 客户端正在加载一些在其域名上列出的字体,问题是在开发过程中我无法在我的开发服务器上看到它们。 有人说我可以通过Apache以某种方式别名域名,并使用hosts文件指向域名,这样字体的请求就像从相应的域名一样通过,因为他们已经被白名单* .theirdomian.com
所以我已经成功地将客户端的域别名到我自己的服务器。 这里是如何:
在您的vhosts.conf文件中,为您的客户站点创build一个假子站点的别名。 例如,如果你的客户是www.myclient.com创buildlocal.myclient.com什么的:
<VirtualHost *:80> ServerAdmin [email protected] ServerName dev.mydomain.com ServerAlias local.myclient.com DocumentRoot /var/path/to/your/files/dev.mydomain.com/html/ <Directory /> Options FollowSymLinks </Directory> <Directory /var/path/to/your/files/dev.mydomain.com/html> Options Indexes FollowSymLinks MultiViews Order allow,deny allow from all </Directory> </VirtualHost>
不要忘记在你的Apache服务器上发出reconfigure命令并重启。
在您的本地机器上的hosts文件中,将您的服务器(dev.mydomain.com)的IP指向假域:
xxx.xx.xx.xxx local.myclient.com
在您的Web浏览器中转到local.myclient.com ,您应该看到dev.mydomain.com的内容。 来电似乎来自客户端域名,字体将被白名单(只要他们已经白名单*.myclient.com而不是www.myclient.com )
我会做一个testing,如果你可以curl或直接wget字体文件。 如果可以的话,你需要一些服务器configuration来使它们可访问; 一些浏览器使跨域字体变得非常困难。 如果你不能,你需要直接从客户那里获取这些字体。