zoukankan      html  css  js  c++  java
  • Nginx*的目录访问问题

    从昨天就开始纠结了,在做实验的时候,遇到目录访问的问题,如下

    前端nginx vhost的设置如下,代理访问后端的192.168.0.37

    server
        {
                listen  80;
                server_name  www.proxy.com;
                index index.php index.html index.htm;
    
                location /test/ {
                    proxy_next_upstream http_502 http_504 error timeout invalid_header;
                    proxy_pass http://192.168.0.37;
                    proxy_set_header Host 192.168.0.37;
                    proxy_set_header X-Forwarded-For $remote_addr;
                    proxy_redirect http://192.168.0.37/test/ /test/;
                }
    
                 access_log /data/logs/weblog/proxy_server.access.log;
    }

    后端的192.168.0.37在根目录下是有test目录的,该目录下有个index文件,内容为“192.168.0.37 proxy test OK!”

    现在的问题是如果在访问www.proxy.com/test/的时候是可以访问的,如下

    [root@control_node ~]# curl -I http://www.proxy.com/test/
    HTTP/1.1 200 OK
    Server: nginx
    Date: Wed, 24 Apr 2013 04:22:40 GMT
    Content-Type: text/html; charset=utf-8
    Content-Length: 28
    Connection: keep-alive
    Last-Modified: Wed, 24 Apr 2013 03:09:13 GMT
    Accept-Ranges: bytes
    

    但是如果访问www.proxy.com/test的话就会301

    [root@control_node ~]# curl -I http://www.proxy.com/test
    HTTP/1.1 301 Moved Permanently
    Server: nginx
    Date: Wed, 24 Apr 2013 04:25:01 GMT
    Content-Type: text/html
    Content-Length: 178
    Location: http://www.proxy.com/test/
    Connection: keep-alive
    

    我刚开始以为是我前端的proxy_redirect设置有问题,后来修改proxy_redirect多次,均无法达到要求,最后突发奇想,把前端的nginx设成了这样

    server
        {
                listen  80;
                server_name  www.proxy.com;
                index index.php index.html index.htm;
    
                location /test {
                    proxy_next_upstream http_502 http_504 error timeout invalid_header;
                    proxy_pass http://192.168.0.37/test/;
                    proxy_set_header Host 192.168.0.37;
                    proxy_set_header X-Forwarded-For $remote_addr;
                    #proxy_redirect http://192.168.0.37/test/ /test/;
                }
    
                location / {
                    proxy_next_upstream http_502 http_504 error timeout invalid_header;
                    proxy_pass http://192.168.0.37/;
                    proxy_set_header Host 192.168.0.37;
                    proxy_set_header X-Forwarded-For $remote_addr;
                }
                 access_log /data/logs/weblog/proxy_server.access.log;
    
    }
    

    这样的话,访问www.proxy.com/test就没问题了

    [root@control_node vhosts]# curl www.proxy.com/test
    192.168.0.37 proxy test OK!

     

     

    ------ 若讷于言,则敏于行!------
  • 相关阅读:
    shell字符串截取
    QT,QT SDK, QT Creator 区别
    linux -- 扩容 /home 空间( xfs文件系统分区扩容指定挂载点)
    条件变量与互斥量
    越努力越幸运--2018年7月22日周记
    越努力越幸运--动态数组vector
    越努力越幸运--3-日常bug修复
    越努力越幸运--2-LD_PRELOAD, fork ,僵尸进程
    越努力越幸运--1
    makefile--回顾基础篇
  • 原文地址:https://www.cnblogs.com/searchappiness/p/3039947.html
Copyright © 2011-2022 走看看