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!
Nginx反向代理的目录访问问题的更多相关文章
- [亲测]ASP.NET Core 2.0怎么发布/部署到Ubuntu Linux服务器并配置Nginx反向代理实现域名访问
前言 ASP.NET Core 2.0 怎么发布到Ubuntu服务器?又如何在服务器上配置使用ASP.NET Core网站绑定到指定的域名,让外网用户可以访问呢? 步骤 第1步:准备工作 一台Liun ...
- [亲测]七步学会ASP.NET Core 2.0怎么发布/部署到Ubuntu Linux服务器并配置Nginx反向代理实现域名访问
前言 ASP.NET Core 2.0 怎么发布到Ubuntu服务器?又如何在服务器上配置使用ASP.NET Core网站绑定到指定的域名,让外网用户可以访问呢? 步骤 第1步:准备工作 一台Liun ...
- Nginx反向代理实现IP访问分流
通过Nginx做反向代理来实现分流,以减轻服务器的负载和压力是比较常见的一种服务器部署架构.本文将分享一个如何根据来路IP来进行分流的方法. 根据特定IP来实现分流 将IP地址的最后一段最后一位为0或 ...
- nginx反向代理带路径访问问题
nginx的配置为192.168.0.219:80分别映射到upstream组192.168.0.55:8080和192.168.0.206:8080,那如何配置做到访问192.168.0.219:8 ...
- nginx反向代理时配置访问密码
在有些情况下,我们需要对服务器上的某些资源进行限流或者禁止陌生人访问,我们可以通过nginx配置来对url添加访问密码. 效果如下 nginx 开启访问验证在 nginx 下,提供了 ngx_http ...
- nginx 反向代理到目录
upstream yg{ server 127.0.0.x; } server { listen 80; server_name www.hikaru.pw; location / { rewrite ...
- nginx 反向代理学习
目录 nginx 反向代理学习 一.正向代理和反向代理的区别 1.1正向代理 1.2 反向代理 二.nginx反向代理的使用 nginx 反向代理学习 一.正向代理和反向代理的区别 正向代理代理客户端 ...
- 实战 | 一文带你读懂Nginx反向代理
一个执着于技术的公众号 前言 在前面的章节中,我们已经学习了nginx基础知识: 给小白的 Nginx 10分钟入门指南 Nginx编译安装及常用命令 完全卸载nginx的详细步骤 Nginx 配置文 ...
- nginx反向代理tomcat访问时浏览器加载失败,出现 ERR_CONTENT_LENGTH_MISMATCH 问题
问题说明:测试机上部署了一套业务环境,nginx反向代理tomcat,在访问时长时间处于加载中,十分缓慢! 通过浏览器调试(F12键->Console),发现有错误ERR_CONTENT_LEN ...
随机推荐
- 将Image转化为BufferImage
public class BufferedImageBuilder { private static final int DEFAULT_IMAGE_TYPE = BufferedImage.TYPE ...
- 转-JS中document对象详解
对象属性 document.title //设置文档标题等价于HTML的<title>标签 document.bgColor //设置页面背景色 document.fgColor //设置 ...
- Qt学习思考
对各个部件基本了解,初步理解GUI应用程序的创建 2D图形文字绘制,3D图形(openGL)等 模型/视图框架编程,处理复杂的数据 多媒体框架 数据库,xml,文件读写等 网络编程 做出比较美观的界面 ...
- Active-MQ的安装
(1)首先就是下载软件 wget http://archive.apache.org/dist/activemq/apache-activemq/5.9.0/apache-activemq-5.9.0 ...
- 反射工具类——ReflectUtils
测试方法:根据已知的方法名,来反射调用方法 package com.redmoon.forum.job; import java.util.ArrayList; import java.util.Li ...
- 【Matplotlib】 刻度设置(2)
Tick locating and formatting 该模块包括许多类以支持完整的刻度位置和格式的配置.尽管 locators 与主刻度或小刻度没有关系,他们经由 Axis 类使用来支持主刻度和小 ...
- 【长期更新】--神犇的BLOGS(各种高端讲解)
KMP字符串匹配算法: http://kb.cnblogs.com/page/176818/ http://blog.csdn.net/yutianzuijin/article/details/119 ...
- android.net.wifi的简单使用方法
获取Wifi的控制类WifiManager. WifiManager wm=(WifiManager)getSystemService(Context.WIFI_SERVICE); 接下来可以对w ...
- view视图文件中的input等输入框必须含有name属性,不然控制器里的动作formCollection是没有值的
view视图文件中的input等输入框必须含有name属性,不然控制器里的动作formCollection是没有值的,就是没有name属性,后台获取不到值
- linux:Nginx+https双向验证(数字安全证书)
本文由邓亚运提供 Nginx+https双向验证 说明: 要想实现nginx的https,nginx必须启用http_ssl模块:在编译时加上--with-http_ssl_module参数就ok.另 ...