linux 下的一个很奇怪的问题 nginx hosts

foxidea 发布于 2012/11/23 13:55
阅读 2K+
收藏 0

我想配置一台图片缓存服务器 用 centos  + nginx 

centos 我配置了 nginx 反向代理,并且我修改了 centos   /etc/hosts 文件   如下:

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

127.0.0.1 img1.xx.com

127.0.0.1 img2.xx.com

127.0.0.1 img3.xx.com

127.0.0.1 img4.xx.com

127.0.0.1 img5.xx.com

我本地电脑 window 修改 hosts 文件 指向我这台 centos 服务器(ip:111.93.36.15),本地hosts 如下:

111.93.36.15 img1.xx.com
111.93.36.15 img2.xx.com
111.93.36.15 img3.xx.com
111.93.36.15 img4.xx.com
111.93.36.15 img5.xx.com

然后我本地访问  http://img1.xx.com/2343/234242512523.jpg   竟然可以访问!??

我想的是应该不可以访问才对,

1、我打开浏览器输入 http://img1.xx.com/2343/234242512523.jpg

这时候 浏览器请求的是 centos 这台服务器 上的nginx 

2、nginx 我配置了 proxy 反向代理,

nginx 会把用户的访问请求,转发给 proxy_pass http://img1.xx.com

但是我在centos 中把 img1.xx.com   绑定到 127.0.0.1 了

为什么 nginx 还是可以获得到 图片呢?

nginx 配置如下:

nginx.conf

#img1.xx.com
	server {
        listen       80;
        server_name  img1.xx.com;
        location / {
            root   /www/img1.xx.com;
			expires max;
			proxy_store on;
			proxy_store_access user:rw group:rw all:rw;
			proxy_temp_path /www/img1.xx.com;
			include proxy.conf;
			if ( !-e $request_filename) {
				proxy_pass  http://img1.xx.com;
			}			
            #index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

proxy.conf

proxy_redirect          off;
proxy_set_header        Host $host;
proxy_set_header        X-Real-IP $remote_addr;
proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header        Accept-Encoding 'gzip';
client_max_body_size    100m;
client_body_buffer_size 256k;

proxy_connect_timeout   60;
proxy_send_timeout      60;
proxy_read_timeout      60;

proxy_buffer_size       512k;
proxy_buffers           8 512k;
proxy_busy_buffers_size 512k;
proxy_temp_file_write_size 512k;
加载中
0
foxidea
foxidea

找到原因了

centos 下 /etc/hosts   文件  与 windows 有所区别

centos 下 hosts 

ip地址   主机名    域名

 我的 /etc/hosts 应该是无效的

0
2
277680701
你以为你真的找到答案了?结果很耳鼻。。。
0
姓黄
姓黄

不是你的/etc/hosts 无效而是127.0.0.1 就是等于本机,而你服务器本机的ip就是111.93.36.15 

返回顶部
顶部