. : : ClassiClub ForuM : : .

会员中心 论坛帮助 日历事件 标记论坛已读
返回   精品技术论坛 » 技术论坛 » 『软件使用』

『软件使用』: 电脑软件推荐, 电脑软件使用, 经验分享



发表新主题 回复
 
主题工具
verve
 
verve 的头像
荣誉版主
 
资 料:
注册日期: Mar 2000
帖子: 5,552 声望值: 5
精华: 0,解答: 2
#1 旧 2019-11-06, 17:21:01 默认 【求助】有没有办法让xxx.com/en和xxx.com/cn这两个网址访问的是不同服务器?
verve 当前离线  

如题,xxx.com/en服务器放国外,xxx.com/cn放国内

当然用cn.xxx.com和en.xxx.com能解决,但现在需要如题的方式

不要问我为什么,说起来都是无语
回复时引用此帖
popo1937
 
popo1937 的头像
中级会员
 
资 料:
注册日期: Jul 2010
帖子: 315 声望值: 3
精华: 0,解答: 1
#2 旧 2019-11-06, 17:40:57 默认
popo1937 当前离线  

xxx.com/en xxx.com/cn都放到国外。写个代码发现访问xxx.com/cn的时候跳到国内来。国内可以用ip也可以用一个二级域名。怎么都行,你看着来。
回复时引用此帖
jimmy_dong
 
jimmy_dong 的头像
管理员
 
资 料:
注册日期: Aug 2000
帖子: 4,655 声望值: 9
精华: 2,解答: 85
#3 旧 2019-11-06, 17:44:27 默认
jimmy_dong 当前离线  

类似BT需求遇到过。

从技术上看: DNS解析 —— 不能。DNS只解析域名。

实操角度,可以变通实现: 架一个海内外双线的Server。之后的处理,有两种办法:
1, iframe把cn.xx或en.xx的内容引入进来,浏览器地址栏看到的还是xxx。
2, 判断en/cn后header转跳到cn.xx或en.xxx去。这样的比较简单。


~~呵呵~~


……你呀,考虑一下吧,要快一点,你知道,肚子很快又饿了。 jimmy_dong@sina.com Oicq:816937

如果失去了“呵呵”,生活会是怎样?
回复时引用此帖
pontiff
 
pontiff 的头像
支柱会员
 
资 料:
注册日期: Oct 2001
帖子: 4,461 声望值: 8
精华: 0,解答: 8
#4 旧 2019-11-06, 17:46:17 默认
pontiff 当前离线  

linux下非常方便 安装 nginx转发规则,其他的也同理设置即可

/usr/local/etc/nginx/nginx.conf
配置nginx转发规则,


server {
listen 80; server_name xxx.com;
location /cn {
proxy_pass http://你自己国内ip或域名即cn.xxx.com/cn也可以;
}
location /en {
proxy_pass http://你自己国外ip或域名即en.xxx.com/en也可以;
}
}


$sudo /usr/local/bin/nginx -s reload
重启
回复时引用此帖
pxrm
 
pxrm 的头像
高级会员
 
资 料:
注册日期: Mar 2002
帖子: 547 声望值: 4
精华: 0
#5 旧 2019-11-06, 18:45:33 默认
pxrm 当前离线  

引用:
作者: pontiff 查看帖子
linux下非常方便 安装 nginx转发规则,其他的也同理设置即可

/usr/local/etc/nginx/nginx.conf
配置nginx转发规则,


server {
listen 80; server_name xxx.com;
location /cn {
proxy...
proxy_pass 是服务器和这个地址建立通讯然后返回给客户端,还是浏览器和这个地址直接通讯啊。 如果不是直接通讯的话,速度还是慢啊
回复时引用此帖
verve
 
verve 的头像
荣誉版主
 
资 料:
注册日期: Mar 2000
帖子: 5,552 声望值: 5
精华: 0,解答: 2
#6 旧 2019-11-06, 19:36:23 默认
verve 当前离线  

各位说的方法还是不是我想要的,我想的是真实的两个访问。

不过从理论上讲,应该是不可能的

DNS解释就通不够
回复时引用此帖
blacklong
 
blacklong 的头像
热心会员
 
资 料:
注册日期: Apr 2002
帖子: 3,746 声望值: 5
精华: 0,解答: 1
#7 旧 2019-11-06, 20:29:41 默认
blacklong 当前离线  

一个域名可以有多个ip地址的,看看有没有提供智能解析的,国内ip访问就解析到国内地址,国外就国外。


我。
回复时引用此帖
Hyson
 
Hyson 的头像
终极会员
 
资 料:
注册日期: Jul 2002
帖子: 35,763 声望值: 3
精华: 3,解答: 13
#8 旧 2019-11-06, 20:42:50 默认
Hyson 当前离线  

感觉这活儿最后还得回到Apache的rewrite的办法上来

http://httpd.apache.org/docs/2.4/rewrite/remapping.html
这里提到重写不改变地址的做法
引用:
Assume we have recently renamed the page foo.html to bar.html and now want to provide the old URL for backward compatibility. However, we want that users of the old URL even not recognize that the pages was renamed - that is, we don't want the address to change in their browser.
http://httpd.apache.org/docs/2.4/rewrite/intro.html
这里提到当前服务器的一个目录可转到另一个域名的某个文件上
引用:
An absolute URL
RewriteRule "^/product/view$" "http://site2.example.com/seeproduct.html" [R]
其实我对这个一窍不通,就是从前知道rewrite挺厉害,可以做什么301转向、www转no-www这类,所以我估计它的高级用法是一定能够解决这个问题的。

另外,在我瞎猜看来,这个问题能否用反向代理来解决?我对反代的理解只停留在,访问不了Pornhub,然后比如大侠们建了一个https://ccfhub.net,然后我访问ccfhub就看到了pornhub这样的操作。就是说 a.com/cn反代成另外的服务器上的内容?


宠辱不惊 闲看庭前野花开落
去留无意 漫随天外浮云卷舒
回复时引用此帖
SoulEdge
 
SoulEdge 的头像
核心会员
 
资 料:
注册日期: Jan 2002
帖子: 4,014 声望值: 5
精华: 4,解答: 8
#9 旧 2019-11-06, 22:44:27 默认
SoulEdge 当前离线  

不管怎么样,同一个域名你只能解析到一个IP上,你只能在这个IP所在的服务器根据访问的路径做跳转了

发自 iPhone 6s 使用 CCF客户端


平平淡淡才是真
回复时引用此帖
确认密码
 
确认密码 的头像
支柱会员
 
资 料:
注册日期: Sep 2002
帖子: 4,905 声望值: 3
精华: 0,解答: 20
#10 旧 2019-11-07, 06:41:38 默认
确认密码 当前离线  

引用:
作者: verve 查看帖子
各位说的方法还是不是我想要的,我想的是真实的两个访问。

不过从理论上讲,应该是不可能的

DNS解释就通不够
所谓真实的访问其实想说的是直接访问吧 理论和实际上都不可能 必须用代理才行 不管是客户端的还是中间的还是服务端的
回复时引用此帖
aspirer
 
aspirer 的头像
支柱会员
 
资 料:
注册日期: Feb 2011
帖子: 4,777 声望值: 4
精华: 1,解答: 18
#11 旧 2019-11-07, 07:36:26 默认
aspirer 当前离线  

引用:
作者: blacklong 查看帖子
一个域名可以有多个ip地址的,看看有没有提供智能解析的,国内ip访问就解析到国内地址,国外就国外。
dnspod有的
回复时引用此帖
verve
 
verve 的头像
荣誉版主
 
资 料:
注册日期: Mar 2000
帖子: 5,552 声望值: 5
精华: 0,解答: 2
#12 旧 2019-11-07, 08:34:07 默认
verve 当前离线  

引用:
作者: Hyson 查看帖子
感觉这活儿最后还得回到Apache的rewrite的办法上来http://httpd.apache.org/docs/2.4/rewrite/remapping.html这里提到重写不改变地址的做法[url]http://httpd.apache.org/docs/2.4/rewrite/intr...
.net写的网站,用不了Apache

回复时引用此帖
riverqh
 
riverqh 的头像
终极会员
 
资 料:
注册日期: Mar 2002
帖子: 10,685 声望值: 3
精华: 1,解答: 55
#13 旧 2019-11-07, 10:13:38 默认
riverqh 当前离线  

nginx部署在xxx.com监听80端口,访问 /cn 时网址重定向 rewrite cn.xxx.com/index.aspx,访问 /en 时 rewrite en.xxx.com/index.aspx,也就是国外第一次访问 xxx.com/en 才会访问国内的服务器,之后刷新重新连接是 en.xxx.com/index.aspx 了,后续都是国外的服务器了。


学着做一些有益别人和社会的事情,不要讲回报,以此证明自己对别人和社会还有点用处。
回复时引用此帖
Barhe
 
Barhe 的头像
初级会员
 
资 料:
注册日期: Feb 2015
帖子: 201 声望值: 1
精华: 0,解答: 9
#14 旧 2019-11-07, 13:58:31 默认
Barhe 当前离线  

用智能 dns 如 dnspod 可以做到。相同域名,不同 ip 不同访问不同的服务器(ip)。


Barhe.org
天上的星星为何 像人群一般的拥挤呢 地上的人们为何 又像星星一样的疏远
回复时引用此帖
popo1937
 
popo1937 的头像
中级会员
 
资 料:
注册日期: Jul 2010
帖子: 315 声望值: 3
精华: 0,解答: 1
#15 旧 2019-11-08, 10:05:53 默认
popo1937 当前离线  

看来解决思路都差不多。
回复时引用此帖
发表新主题 回复

主题工具

论坛规则  发帖规则
不可以发表主题
不可以回复帖子
不可以上传附件
不可以编辑自己的帖子
论坛启用 vB 代码
版面启用 表情符号
版面启用 [IMG] 代码
版面禁用 HTML 代码


所有时间均为北京时间, 现在的时间是 04:32:18.

本论坛带宽由迅通网络提供
SSL证书由TrustAsia提供

Copyright © 2000 - 2019 ClassiClub Forum All Rights Reserved.
粤ICP备09123456号