免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: tjyihui
打印 上一主题 下一主题

[DNS] 一个疑问:为何某些门户网站直接输入IP地址却无法访问 [复制链接]

judi 该用户已被删除
21 [报告]
发表于 2004-10-29 12:08 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
judi 该用户已被删除
22 [报告]
发表于 2004-10-29 12:09 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
23 [报告]
发表于 2004-10-29 13:54 |只看该作者

一个疑问:为何某些门户网站直接输入IP地址却无法访问

VirtualHos可以做成只有域名才能访问,
当然也有可能是因为代理

是的,但是重點是如何驗證這個站是 VH 或是代理
這種狀況要懂 Protocol ,才有辨法驗證,透過 HTTP header 就可以知道了

多IP对应一个域名,一个IP有多个域名,还是不太懂!

www IN A 1.2.3.4
www IN A 1.2.3.5
www IN A 1.2.3.6
www1 IN A 1.2.3.4
www2 IN A 1.2.3.4

這樣您可以理解嗎 ?

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
24 [报告]
发表于 2004-10-29 22:18 |只看该作者

一个疑问:为何某些门户网站直接输入IP地址却无法访问

原帖由 "abel" 发表:

同樣的功能 Apache 本身也有,就在 mod_proxy* 這個 DSO 中
不然也可以找 Pound: http://www.apsis.ch/pound

原理都一樣,用 Layer 4+ Switch 技術的話,也有 L4 以上的做法
但價錢恐怕就不便宜了


不好意思,     

你这几个命令都一样,
结果

  1. GET http://www.sina.com.cn HTTP/1.1

  2. GET / HTTP/1.0
  3. Host: www.sina.com.cn

  4. GET / HTTP/1.0
  5. Host: 218.30.108.59

  6. GET http://www.kimo.com.tw HTTP/1.1
复制代码


为啥呢???

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
25 [报告]
发表于 2004-10-30 00:31 |只看该作者

一个疑问:为何某些门户网站直接输入IP地址却无法访问

你这几个命令都一样,
结果

代码:
GET http://www.sina.com.cn HTTP/1.1

GET / HTTP/1.0
Host: www.sina.com.cn

GET / HTTP/1.0
Host: 218.30.108.59

GET http://www.kimo.com.tw HTTP/1.1


为啥呢???

看不懂你的問題,是說你 telnet 218.30.108.59 80 後送這些 http command 後,結果都一樣嗎 ? 不可能吧


  1. $>;echo -e "GET / HTTP/1.0\nHost: 218.30.108.59\n\n" | nc 218.30.108.59 80 | sed -n '1,30p'

  2. HTTP/1.0 403 Forbidden
  3. Server: squid/2.5.STABLE5
  4. Mime-Version: 1.0
  5. Date: Fri, 29 Oct 2004 16:15:30 GMT
  6. Content-Type: text/html
  7. Content-Length: 1052
  8. Expires: Fri, 29 Oct 2004 16:15:30 GMT
  9. X-Squid-Error: ERR_ACCESS_DENIED 0
  10. X-Cache: MISS from 108-59.sina.com.cn
  11. Proxy-Connection: close
复制代码

不從結果看,為什麼用上述 "GET ...HOST: IP" 您了解嗎 ?
把 IP 改成名稱又代表什麼意義呢 ?
GET http://www.sina.com.cn HTTP/1.1 在 HTTP 來看代表什麼意義?


當然,大家都可以理所當然的想 "大站會有分流" "可能是反向代理" "可能是 VH" .....一直的理所當然下去

论坛徽章:
0
26 [报告]
发表于 2004-10-30 13:09 |只看该作者

一个疑问:为何某些门户网站直接输入IP地址却无法访问

我感觉这个问题目前abel先生已经分析得非常清楚了。
说“可能是虚拟主机”的朋友可以从头看起慢慢把abel的分析看完再发表意见不迟。
如果想要更进一步的信息,就需要sina的技术人员出来说说了。不过估计他们会认为是商业秘密吧:)

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
27 [报告]
发表于 2004-10-30 18:42 |只看该作者

一个疑问:为何某些门户网站直接输入IP地址却无法访问

呵呵,现在明白了     

谢谢

论坛徽章:
0
28 [报告]
发表于 2004-11-02 16:15 |只看该作者

一个疑问:为何某些门户网站直接输入IP地址却无法访问

我公司的网站也是如此做的,不是什么dns与IP的关系,是交换机的问题

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
29 [报告]
发表于 2004-11-03 11:40 |只看该作者

一个疑问:为何某些门户网站直接输入IP地址却无法访问

[quote]原帖由 "china_cnpp"]我公司的网站也是如此做的,不是什么dns与IP的关系,是交换机的问题[/quote 发表:

若純粹以交換機來做 WWW 的分流,我相信貴公司一定很有錢
一般來說,WWW 負載平衡有幾種做法:

1. 交換機做法,依請求來分流,發佈的 IP 只有一個或少數幾個,但透過交換機的功能,導到交換
機下的某些其他主機
2. 透過 DNS 的 Round Robin 機制,隨機選取 IP 進行連接,意義等同於 (1),但可跨物理區隔
3. 透過 DNS 的 Round Robin + View 功能,達到同 (1)(2) 效果,並且具有依 Source IP 不同,
連接到不同 WWW Server 之功能
4. 透過反向代理 (Reverse Proxy) 可以達到負載平衡,減少 Disk I/O 存取,例如一般的 Apache
即有的功能(Apache 效能可能沒有 squid or pound 等好)
5. LVS 或 HA 做法..或其他方法,非本處主題

Ex:

  1. # DNS 分別有 www1/www2/www3 A 記錄
  2. #Apache 1.3 example 1, 負載平衡需要 RewriteMap
  3. <IfModule mod_proxy.c>;
  4.       ProxyRequests On
  5.       NoCache *
  6.       ProxyPassReverse  /  http://www1.chinaunix.com/
  7.       ProxyPassReverse  /  http://www2.chinaunix.com/
  8.       ProxyPassReverse  /  http://www3.chinaunix.com/
  9. </IfModule>;
复制代码


  1. # DNS www.chinaunix.com 為 CNAME , 到 www1/www2/www3 即同上理
  2. # DNS 要允許 multiple cname
  3. #Apache 1.3 example 1, 負載平衡不需要 RewriteMap
  4. <IfModule mod_proxy.c>;
  5.       ProxyRequests On
  6.       NoCache *
  7.       ProxyPassReverse  /  http://www.chinaunix.com/
  8. </IfModule>;
复制代码


  1. #squiud 部份設定, 只允許代理到 .chinaunix.com 的請求
  2. # 例如 www.chinaunix.com 的 Address 需設定到這台 Proxy
  3. # 但此部 proxy 需在 /etc/hosts 中建立後台 www.chinaunix.com 的位址
  4. # (因為 DNS 巳指定了 www.chinaunix.com 的位址)
  5. http_port 80
  6. httpd_accel_host virtual
  7. httpd_accel_single_host off
  8. httpd_accel_port 80
  9. httpd_accel_uses_host_header on
  10. httpd_accel_with_proxy on

  11. # accelerater my domain only
  12. acl mydomain dstdomain www.chinaunix.com
  13. http_access allow mydomain

  14. # ...其他 acl 略

复制代码

我們可以看到Apche NoCache 項目,收到一個請求,導到後台中三台任一台,
不做 Cache , 這樣做和交換機做有什麼差別呢 ? 重點是 Apache 不用錢!
唯 Apache 在 R-Proxy 上的表現效果較沒有 Squid 或 Pound 好,但個人用意
只在說明,了解原理及技巧,可以省下很多銀子.更何況若上面三台你有一台掛了
並不會影響前端的請求,Apache R-Proxy 還是可以正確顯示頁面.
(http://httpd.apache.org/docs/mod/mod_proxy.html)

至於 Squid 也可以不做 Cache ,每次都到後台抓,也可以做 Cache , 但根據前幾篇
我所提到的問題,若每個 html 或動態頁面都要產生 Cache-Control 或是 Expire,
顯然會很費事,透過 Apache 的 mod_expires (http://httpd.apache.org/docs/mod/mod_expires.html)

  1. ExpiresByType text/html "access plus 1 hours"
  2. ExpiresByType image/gif "access plus 1 month"

  3. # 當然, squid 中也有可以設定類似這個功能的地方
复制代码

就可以實現讓做 Cahce 的 R-Proxy , 每一小時才做頁面(text/html)更新的動作
gif 圖檔一個月才做更新動作 ...


我們再想想,為什麼用反向代理的問題,如果您用交換機做或方法 (2) 做的話,會存
在每部 WWW Server 資料同步問題,當然不做 Cache 導向後台N 部這種做法亦同.
做反向代理緩存,不就存在這些問題了,因為時候到(Expire),有新的請求時他自然會去更新


及前面我寫的部份,我才能推論, www.sina.com.cn 是 (3)+(4) 的組合
只要對 protocol 及工具的了解夠,不見得要花太多錢,更何況, sina 這種做法
有 Source IP 特性分流,及能夠跨不同的實體位址(交換機的分流做法是每部 WWW
都得在同一部交換機後),同步問題.....我相信是一個相當好的做法,交換機做法
我只要打跨你的實體線路流量就全掛了.

论坛徽章:
0
30 [报告]
发表于 2004-12-06 03:57 |只看该作者

一个疑问:为何某些门户网站直接输入IP地址却无法访问

如果被新浪的SA看到了,他们牙会笑掉了,呵呵。

GSLB   CDN   而不是什么apache dns  
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP