关于中转客户端访问

zhlym 2020-10-13 12:02:56
假如 xx.com 网站是我这边的,用户A访问过来,然后要把用户A转到去访问 123.com ,让 123.com 网站取到的是用户A的相关浏览端信息,然后返回时用户A看到的就是 123.com 的返回(当然也希望我网站 xx.com 也能取到 123.com 返回),有可能这样实现吗?请大家指点下
...全文
6239 15 点赞 打赏 收藏 举报
写回复
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
基于“协议”的能力,网站B可以识别用户的身份、来源等等信息,并且对A网站推送你需要的内容。不管需求多么复杂,其实做起来都很轻松。设计的基本概念和思路最重要。
  • 打赏
  • 举报
回复
通常,例如单点登录系统等等使用 30x 客户端重定向的网站,通常网站 A 要跟集中统一的中转网站B(例如用户登录认证 web 服务器)通过后台发一个消息,推送一些信息,然后将与B站约定好的信息的token编码放到重定向的url的参数中。例如重定向到
http://123.com/site1?token=adfafaxx23242
或者简单地将信息内容放到url上,例如
http://123.com/site1?token=adfafaxx23242&callback=xx.com/app1/page1
这个例子中,当callback参数值比较复杂的时候还需要url编码。

这里就需要网站之间先定出一个“协议”来。
  • 打赏
  • 举报
回复
客户端重定向是 http 古老的标准操作。你自己看一下标准。
  • 打赏
  • 举报
回复
zhlym 2020-10-26
问题还没有解决,再顶一下看有没有高手路过指点下
  • 打赏
  • 举报
回复
zhlym 2020-10-15
引用 10 楼 SpringRainy 的回复:
[quote=引用 2 楼 wanghui0380 的回复:]你那个叫代理服务器
0[/quote] 如是代理服务器的话,要怎搭建?或用什么软件?在之前也有用软件CCPROXY来做代理,也是实现不了我想要的
  • 打赏
  • 举报
回复
zhlym 2020-10-14
韩老骥 经用nginx测试,主要代码如下 server { listen 8091; server_name http://aa.com; location / { proxy_pass http://xxx.com/t.asp; proxy_set_header X-real-ip $remote_addr; proxy_set_header remote-user-ip $remote_addr; } } 在本地访问 http://aa.com:8091 能访问到 http://xxx.com/t.asp 去,但这个网站是别人的,我只有访问权,且人家是用 Request.ServerVariables["REMOTE_ADDR"] 来获取客户端IP的,我的nginx中转跟本没办法把客户的IP替换到 REMOTE_ADDR 里去交给目标网站,还望熟悉的朋友再指点下
  • 打赏
  • 举报
回复
韩老骥 2020-10-14
引用 7 楼 zhlym 的回复:
[quote=引用 6 楼 icoolno1 的回复:][quote=引用 5 楼 zhlym 的回复:][quote=引用 4 楼 icoolno1 的回复:]百度iis,nginx反向代理


据实验,IIS反向代理,没办法把客户端的IP转到目标网站的(这是取真实IP的语句 Request.ServerVariables["REMOTE_ADDR"] 代理之后目标网站取不到客户端IP了,取到的是代理服务端的IP),这就是我要求的特殊的地方[/quote]

Head是可以转发的啊,比如nginx的配置。


location /some/path/ {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://localhost:8000;
}
[/quote]

韩老骥 ,你这句 proxy_set_header X-Real-IP $ remote_addr 可以令目标网站 通过 Request.ServerVariables["REMOTE_ADDR"] 得到客户端的IP吗? 因我服务器是WINDOWS所以试验了IIS的反向代理,发现没办法把客户端的IP转发给目标网站(也有可能我不懂设置),如知道的告之下

[/quote]

参考这个
https://blog.csdn.net/zwmnhao1980/article/details/82267921
  • 打赏
  • 举报
回复
SpringRainy 2020-10-14
引用 2 楼 wanghui0380 的回复:
你那个叫代理服务器
0
  • 打赏
  • 举报
回复
zhlym 2020-10-13
引用 6 楼 icoolno1 的回复:
[quote=引用 5 楼 zhlym 的回复:][quote=引用 4 楼 icoolno1 的回复:]百度iis,nginx反向代理
据实验,IIS反向代理,没办法把客户端的IP转到目标网站的(这是取真实IP的语句 Request.ServerVariables["REMOTE_ADDR"] 代理之后目标网站取不到客户端IP了,取到的是代理服务端的IP),这就是我要求的特殊的地方[/quote] Head是可以转发的啊,比如nginx的配置。

location /some/path/ {
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_pass http://localhost:8000;
}
[/quote] 韩老骥 ,你这句 proxy_set_header X-Real-IP $ remote_addr 可以令目标网站 通过 Request.ServerVariables["REMOTE_ADDR"] 得到客户端的IP吗? 因我服务器是WINDOWS所以试验了IIS的反向代理,发现没办法把客户端的IP转发给目标网站(也有可能我不懂设置),如知道的告之下
  • 打赏
  • 举报
回复
韩老骥 2020-10-13
引用 5 楼 zhlym 的回复:
[quote=引用 4 楼 icoolno1 的回复:]百度iis,nginx反向代理


据实验,IIS反向代理,没办法把客户端的IP转到目标网站的(这是取真实IP的语句 Request.ServerVariables["REMOTE_ADDR"] 代理之后目标网站取不到客户端IP了,取到的是代理服务端的IP),这就是我要求的特殊的地方[/quote]

Head是可以转发的啊,比如nginx的配置。


location /some/path/ {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://localhost:8000;
}
  • 打赏
  • 举报
回复
zhlym 2020-10-13
引用 4 楼 icoolno1 的回复:
百度iis,nginx反向代理
据实验,IIS反向代理,没办法把客户端的IP转到目标网站的(这是取真实IP的语句 Request.ServerVariables["REMOTE_ADDR"] 代理之后目标网站取不到客户端IP了,取到的是代理服务端的IP),这就是我要求的特殊的地方
  • 打赏
  • 举报
回复
韩老骥 2020-10-13
百度iis,nginx反向代理
  • 打赏
  • 举报
回复
zhlym 2020-10-13
引用 2 楼 wanghui0380 的回复:
你那个叫代理服务器
如果只是常用的代理方式 是实现不了我的说,比如 123.com 目标网站是取到代理服务器的IP,是取不到客户端真实IP的(我指 Request.ServerVariables["REMOTE_ADDR"] )
  • 打赏
  • 举报
回复
wanghui0380 2020-10-13
你那个叫代理服务器
  • 打赏
  • 举报
回复
耗子哭死猫 2020-10-13
读取浏览信息这种早就有了,还有现成的。 好像是一个什么统计的网站,你注册会得到一个js连接地址,把js链接地址嵌入到你主页中。浏览你的网站同时,也会把浏览信息抓取到统计网站中,你登录统计后台就可以得到这心数据了
  • 打赏
  • 举报
回复
相关推荐
发帖
C#
加入

10.6w+

社区成员

.NET技术 C#
申请成为版主
帖子事件
创建了帖子
2020-10-13 12:02
社区公告

让您成为最强悍的C#开发者