技术解析

linux 怎么对运行的程序访问的网址进行重新定向
0
2021-07-06 09:12:50
idczone
linux 怎么对运行的程序访问的网址进行重新定向 比如程序访问 www.baidu.com 就跳转到 www.qq.com
这个确定不是用 JS 写?

从域名解析上解决

写一个代理,检测传出报文,如果请求了该网址就 302 跳转

Apache rewrite

http://httpd.apache.org/docs/2.2/rewrite/

楼主的意思是本地实现吧,修改 /etc/hosts 文件,加一行:
```
123.123.123.123 example.com
```
A 网站为 example.com
B 网站 IP 地址为 123.123.123.123 。
访问 A 网站即可跳转到 B 网站…

网址重定向?假设你说的意思是 HTTP 请求匹配到制定的 HOST ,在网络层重定向流量
1. iptables
iptables 有串匹配的,但是效率应该不好,哪怕用到各种高大上的看毛片算法啥的
```shell
iptables -t nat -A OUTPUT -p tcp --dport 80 -m string --string "www.baidu.com" --algo kmp -j DNAT --to `host -t a www.qq.com | awk '{print $4}' | egrep ^[1-9]`:80
```
不保证正确 23333333
**如果说的是 HTTP Redirect**
2. nginx 反向代理
就是在 nginx 上判断请求的 HOST ,用 ipbtales 把出口端口 80 流量重定向到 nginx 上,由 nginx 做反向代理

linux 怎样煮咖啡

不一定。同一个 IP 上可以搭建多个网站的。还是用自己的服务器 301 一下最可靠。

我也知道可能多站同 IP 。但楼主并没有表达清楚,我基于楼主没法控制服务器的假设做出回答。我自己实现的话肯定是 301 / 302 ,而且我现在也正是这么实现的。

就是对运行的程序访问的网址 url 进行劫持跳转

对是网址重定向

要是一个 ip 多站点的 修改 host 就不行了呀,要能跳转到具体 url 网址的

如果你能控制到域名,能控制到服务器, 301 自然是最好的选择。我在 说了,我原本以为你是指本地,所以我才说用修改 hosts 的方法。

301 具体是怎么操作 能说说吗 谢谢

你说的这个 301 跳转貌似是 web 端的网页跳转 我指的是对本地运行的程序所访问的网页域名进行跳转

你先说说你想实现什么吧,你最初说的和 说的情况不一样,我没理解你想表达哪种情况。如果是你自己本地的机器想在访问 baidu.com 的时候跳转到 qq.com ,那就只需要修改你本地的 hosts 文件。如果你是想让你本局域网内的机器访问 baidu 时跳转到 qq ,你可以在出口的路由器修改 hosts 。想要更大范围的影响就只能取得 baidu.com 域名的控制权修改 DNS 设置,或者直接大面积 DNS 污染了。如果仅仅只是你自己的网站为 example-a.com ,访问时跳转到网站 example-b.com ,方法也很多,比如说 Apache Rewrite …具体教程搜就有了。

16 。我临时想到的方法就是在本地搭建 Apache ,顺便把本地程序访问的域名 baidu.com 指向本地,然后本地 301 跳转到某个特定页面。

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服