PHP 是否能够实现将 http 请求转发到一个域名的指定 IP 下?

2017-07-10 16:16:06 +08:00
 xxxpara

php 是否能够实现将 http 请求转发到一个域名的指定 IP 下?比如 www.a.com 这个域名有多台服务器,IP 有 4 个,正常情况是随机的,如果我想在 PHP 层把访问的 IP 写死,有可能实现吗?

我知道改 hosts 可以实现,现在是想尝试直接在代码层面实现,不知道有没有可能性

9152 次点击
所在节点    PHP
40 条回复
Famio
2017-07-10 17:12:19 +08:00
这个问题就好像上午看到的 css 的问题一样,明明可以用 css 来完成布局,有些人非要用 js 来做。
xxxpara
2017-07-10 17:15:50 +08:00
@Famio 原因我上面已经解释了..这个不是部署到生产环境的,临时用来做业务体验,但是测试 ip 有好几个,域名只有一个
UnknownR
2017-07-10 17:50:46 +08:00
看下 nginx 的介绍文档,里面有你这种情况的处理配置
或者你可以试一下设置 URL 头部, 域名改成 IP
torbrowserbridge
2017-07-10 17:58:42 +08:00
13 楼正解
Tairy
2017-07-10 18:01:00 +08:00
刚看 Laravel 的时候看到这种神操作,惊呆了。

![]( )
eecjimmy
2017-07-10 18:16:21 +08:00
不如直接写个批处理自动更改和还原方便,本来就是少数临时体验用。
gouchaoer
2017-07-10 18:20:07 +08:00
那你为什么不直接用 ip 访问?
iyaozhen
2017-07-10 18:23:39 +08:00
@ysjdx 正解。

这事和 php 没啥关系呀。要加强 http 协议的学习呀
LoliconInside
2017-07-10 18:26:29 +08:00
curl -H 'Host:www.xxx.com' http://x.x.x.x
下 一 题
imcj
2017-07-10 18:32:57 +08:00
用 ReactPHP,支持 epoll 模型可以做这事。

统一回复楼上什么 php 不适合。php 就是一个语言,有各种可能,用 php 做转发,去实践一下,我觉得没错。

如果人失去了好奇心,失去了改变现状。v2ex 的逼格不正是创意?创意包含打破。包含好奇。
jasontse
2017-07-10 18:51:24 +08:00
打好 HTTP 协议基础就知道该怎么做
curl setopt url http://127.0.0.1
curl setopt header host:www.a.com
shyling
2017-07-10 19:49:39 +08:00
fsockopen(指定 ip); fwrite('Host: 域名')
fhefh
2017-07-10 21:42:33 +08:00
https://www.ngrok.cc/

楼主看看这个 是不是你想要的东西
msg7086
2017-07-10 23:57:57 +08:00
要连接目标服务器 DNS 解析中的某一个特定 IP,
要么 hosts 写死 IP 地址,
要么代码里写死 IP 地址。
zhs227
2017-07-11 06:31:05 +08:00
假设你要访问的 IP 是 192.168.1.x, 然后平常是通过 www.example.com 来访问。采用 curl 自定义头部 Host,发送请求到 http://192.168.1.x/page, 带上 Host: www.example.com , 就可以了。如果是 nginx 负载均衡的,需要后端可以直接提供访问,把访问直接发送到后端,不要通过负载均衡转发。
suconghou
2017-07-11 13:40:34 +08:00
我觉得不是 PHP 的帖子质量下降了,是 v2 用心帮助别人的心态少了,一上来就喷,题主已经知道其他方式,但是需要了解自己需要的那种方式, 很少人能正面回答,一直强调一些另类方法, 题主也不是没有思考的人,自己就会清楚那种最合适.
顺便附上答案
<script src="https://gist.github.com/suconghou/e0bb202cdb8344105a4287e8eca8d12e.js"></script>
lzhr
2017-07-11 15:03:19 +08:00
@imcj V2EX 增强插件 可以 @ 所有人
xxxpara
2017-07-11 16:57:16 +08:00
@suconghou 谢谢!终于有个能理解我的,不过上网多了,心态也就平淡了
mkeith
2017-07-16 16:10:04 +08:00
@suconghou 不知道这个 php 代码部署到哪儿呢,客户端吗?还不如改 host 啊
suconghou
2017-07-16 19:05:47 +08:00
@mkeith 题主的要求就是不改 host 用代码实现; 具体情况具体分析.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/374297

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX