有偿求助: nginx 域名隐性(地址栏域名不变)跳转

94 天前
 powerman

跪求大神,帮助实现一个关键功能:域名隐性跳转(也称为域名掩码或隐形重定向)。具体需求如下:

隐性跳转实现: 所有输入的域名在用户浏览器地址栏中保持不变,但实际内容从目标 URL 加载。 需要处理的域名除了数字英文,还包含特殊字符(如 emoji 、中文、日文等)。 例如,当用户在地址栏访问 1.aaa.com ,服务器基于 API 查询“1.aaa”指向的页面如“bbb”,则跳转目标 URL 为 ccc.com/bbb ,但是地址栏域名不变仍显示 1.aaa.com 。 其他都实现了,就是这个隐性跳转搞不定,ccc.com 不允许跨域访问,没办法代理它的内容。

技术要求: 服务器端技术:nodejs Nginx pm2 代理目标 URL 是基于 API 指向的页面。

4389 次点击
所在节点    Node.js
77 条回复
coolloves
93 天前
@Qiss 是啊,一顿描述猛如虎,感觉需求就是一个反代就完事了
zhtyytg
93 天前
@Qiss 确实,看了一长串终于反应过来是反代。
sss15
93 天前
似乎反代只能解决开始的问题,反代回来的 html 里应用的 js 譬如是 http://ccc.com/static/1.js ,这应该是可以加载的,应该没啥大问题
关键问题是 js 里的请求又是 http://ccc.com/api/action 这样的地址,对方网站又是不允许跨域的,他请求回来的网站就没办法正常显示了
wnpllrzodiac
93 天前
这不就是跳板机么。内容是服务器转发给浏览器的吧。如果是 302,浏览器地址会变得
xubeiyou
93 天前
可能是理解有误 感觉不只是反代- - 一个 rewrite 不够的样子- -
wnpllrzodiac
93 天前
要做完善比较困难,因为页面里面会有静态的访问地址,需要动态改页面内容。这种一般 case by case.可以私我交流下。
powerman
93 天前
@kissice 现在是类似这样写的没错,但是没有实现
xuAN111
93 天前
你百度搜一下反代,几分钟就会了。
totoro625
93 天前
@kissice #20 同样的需求+1
proxy_pass 或许 rewrite 会 302 跳转
如果要说具体技术实现的话,在 CDN 里有一个词叫“回源跟随 301/302”: https://cloud.baidu.com/doc/CDN/s/klk80mlnh
liuidetmks
93 天前
浏览器不是吃素的
再说了,人家 js 发请求,请求参数取页面 host ,太多了
巨坑
coolloves
93 天前
@sss15
所以要看细节,有影响的域名都做下反代.然后用 sub_filter 模块做下内容替换.这样,所有的都是你自己的域名了,什么跨域都不存在的.
LoliconInside
93 天前
您要搜索的是否是:反向代理
root71370
93 天前
做不到完美的,如果能做到,那是不是我申请个域名就可以直接套 v2ex.com 了,而且所有功能都能正常使用?
rrfeng
93 天前
@powerman
abistey at gmail
把需求描述清楚发过来
xxyang
93 天前
iframe
sead
93 天前
zsh2517
93 天前
如果想抄云厂商(如阿里云)的 DNS 显性隐性跳转。可以看这个,我在隔壁写过

https://linux.do/t/topic/145420/3?u=zsh2517
sead
93 天前
@root71370 你说的这个有人在干,只不过谷歌浏览器不是吃素的,会直接弹红屏警告
sead
93 天前
@sss15 那就只能用 nodejs 中间件针对性做处理,改写资源加载地址到特定路由
Jianrry
93 天前
我之前接过 2 个单子,和楼主的需求差不多,通过 nginx 反向代理实现的。

预计工作时间 1-2 个小时,最后两个单子分别收了 50 、100 。

看到楼上的报价之后,我发现报价还有很大的提示空间。

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

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

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

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

© 2021 V2EX