我正在自己的开发服务器上开发一个网站。客户端正在加载一些仅在其域上列入白名单的字体,问题是在开发过程中我无法在我的开发服务器上看到它们。有人说我可以通过 Apache 以某种方式为域设置别名,并使用 hosts 文件指向该域,这样字体请求就可以像从适当的域通过一样,因为他们已将 *.theirdomian.com 列入白名单
答案1
这样,我已成功将客户端的域名别名为我自己的服务器。操作方法如下:
在您的vhosts.conf
文件中,为您的客户网站创建一个虚假子域的别名。例如,如果您的客户正在www.myclient.com
创建local.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 服务器上发出重新配置命令并重新启动。
在hosts
您本地机器上的文件中,将服务器的 IP(dev.mydomain.com)指向虚假域:
xxx.xx.xx.xxx local.myclient.com
在 Web 浏览器中转到local.myclient.com
,您应该会看到 的内容dev.mydomain.com
。调用似乎来自客户端域,并且字体将被列入白名单(只要它们已列入白名单*.myclient.com
且不是www.myclient.com
)
答案2
我会测试您是否可以直接 curl 或 wget 字体文件。如果可以,您需要进行一些服务器配置才能访问它们;有些浏览器很难跨域使用字体。如果不能,您需要直接从客户端获取这些字体。