我想在加载网站时在本地加载文件a.js
(例如example.com
)。通常,我可以将/etc/hosts
更改为example.com
到127.0.1.1
,但我不想要加载所有文件{{1} }。
我想:
a.js
答案 0 :(得分:1)
这样做的一种方式(不是最快的)是在服务器配置中引入代理传递(下面用nginx显示,但可能带有apache或其他):
/etc/hosts
更改为将问题中的目标域名(example.com
)重定向到127.0.0.1
在你的nginx配置中引入两个代理传递:
我。特定文件(a.js
)的代理传递到本地文件。
II。代理将所有其他路径传递回目标域的远程IP(example.com
)。此代理传递必须是IP地址(可以使用nslookup example.com
获得),因为在我们在步骤1中设置主机时,将阻止使用域example.com
。
server {
listen 80;
server_name example.com;
location /a.js {
# your local server
proxy_pass http://localhost:80/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
location / {
# everything else back to the IP of example.com
proxy_pass http://<REMOTE_IP>/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}