nginx 代理的简单配置

  • Post author:
  • Post category:其他

以下配置在 nginx.conf 修改

  • 提供简单的静态服务
http{
    events {
          worker_connections  1024;  ## Default: 1024 //必须设置事件
    }
	server{
		listen 8080;			// 不指定的情况下默认80
		root /data/other;		//在没有可匹配的location的路径时,将路径指向这里配置的路径

		location / {
			root /data/www;
		}
		location /images/ {
			root	/data;
		}
	}
}

以上配置的意思是 :
监听8080端口
当访问 http:localhost:8080/test.png时,代理到服务器文件系统/data/www路径下的 test.png
当访问 http:localhost:8080/images/test.png时,代理到服务器文件系统/data/images路径下的 test.png
如果去除以下配置

location / {
	root /data/www;
}

则当访问 http:localhost:8080/test.png时,代理到服务器文件系统/data/other路径下的 test.png,server下root的作用和location 的 / 近似,不过优先级最低

  • 设置一个简单的代理服务器
http{
    events {
          worker_connections  1024;  ## Default: 1024 //必须设置事件
    }
	server {
	listen 8080;	
	location / {
		proxy_pass http://baidu.com;
		}
	}
}

当访问 http:localhost:8080 时,将会被代理到 http://baidu.com

关于proxy_pass 的相关配置
以下转自: https://www.cnblogs.com/jzxy/articles/12971199.html
在nginx中配置proxy_pass代理转发时,如果在proxy_pass后面的url加/,表示绝对根路径;如果没有/,表示相对路径,把匹配的路径部分也给代理走。假设下面四种情况分别用 http://192.168.1.1/proxy/test.html 进行访问
第一种:

location /proxy/ {
	proxy_pass http://127.0.0.1/;
}
代理到URL:http://127.0.0.1/test.html

第二种(相对于第一种,最后少一个 / )

location /proxy/ {
	proxy_pass http://127.0.0.1;
}
代理到URL:http://127.0.0.1/proxy/test.html

第三种:

location /proxy/ {
	proxy_pass http://127.0.0.1/aaa/;
}
代理到URL:http://127.0.0.1/aaa/test.html

第四种(相对于第三种,最后少一个 / )

location /proxy/ {
	proxy_pass http://127.0.0.1/aaa;
}
代理到URL:http://127.0.0.1/aaatest.html

版权声明:本文为kaomianjin原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。