在 Apache 上设置域名别名

在 Apache 上设置域名别名

我正在自己的开发服务器上开发一个网站。客户端正在加载一些仅在其域上列入白名单的字体,问题是在开发过程中我无法在我的开发服务器上看到它们。有人说我可以通过 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 字体文件。如果可以,您需要进行一些服务器配置才能访问它们;有些浏览器很难跨域使用字体。如果不能,您需要直接从客户端获取这些字体。

相关内容