Nginx域名转发使用场景代码实例

Nginx域名转发使用场景代码实例,第1张

Nginx域名转发使用场景代码实例

本文详细介绍了Nginx网站域名转发应用场景编码的案例。原文根据实例编码非常详细,对大家的学习培训或者工作都有一定的参考价值,有需要的朋友可以参考一下。

场景一:由于服务器的限制,只扩展开放了一个端口号,但是必须请求外网地址的不同自然环境,所以nginx放在中转服务器上转发一次。

完成:

server{ listen8051; server_namelocalhost; location/license/{ proxy_passhttp://xxx.xxx.xxx.xxx:8058/; } location/{ proxy_passhttp://xxx.xxx.xxx.xxx:8051/;}}

注意:

黑板标注要点:如果此处涉及上传文件的转发,则在server_name下添加client_max_body_size100m

域名转发的详细地址,proxy_pass后面必须加“/”,否则会造成转发异常。

nginx配备proxy_pass代理转发时,如果在proxy_pass后的url上加/表示根路径为正;
如果没有/,说明绝对路径,给代理一部分搭配路径。

假设以下四种情况分别被http://192.168.1.1/proxy/aerchi.html浏览。

第一种类型:

location/proxy/{
proxy_passhttp://127.0.0.1/;
}

到代理URL:http://127.0.0.1/aerchi.html

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

location/proxy/{
proxy_passhttp://127.0.0.1;
}

到代理URL:http://127.0.0.1/proxy/aerchi.html

第三种类型:

location/proxy/{
proxy_passhttp://127.0.0.1/AAA/;
}

到代理URL:http://127.0.0.1/AAA/aerchi.html

第四种(相对于第三种,最终少了一种/)

location/proxy/{
proxy_passhttp://127.0.0.1/AAA;
}

到代理URL:http://127.0.0.1/aaaaerchi.html

场景二:由于业务流程的需要,必须将一组前端代码投影到后台管理的两个详细地址,所以必须对套接字进行差分转发,转发时必须去掉差分标记。

完成:

server{ listen0.0.0.0:8204; server_namelocalhost; #静态网页文件目录 rootE:\xxxxxxx; #默认首页 index/index.html; proxy_set_headerHost$http_host; proxy_set_headerX-Real-IP$remote_addr; proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for; #proxy_cookie_path/*/*; client_max_body_size100m; location~*/wx/(.*){#根据插口是不是包括/wx/来区别 #动态性网页页面,交到tomcat解决 if(!-e$request_filename){         proxy_passhttp://127.0.0.1:8091/$1;#转至后台管理时必须把/wx除掉 } }   location/{     #客户电脑浏览器端缓存设置     location~*\.(css|js|jpg|jpeg|gif|png|swf|htm|html|json|xml|svg|woff|ttf|eot|map|ico)${       expires-1;       if(-f$request_filename){         break;       }     }     #动态性网页页面,交到tomcat解决     if(!-e$request_filename){       proxy_passhttp://127.0.0.1:8092;     #proxy_cookie_path/*/*;     }   }   error_page500502503504/50x.html;   location=/50x.html{     roothtml;   } }

注意:

1、proxy_set_headerHost$http_Host;

不要更改请求标题。

2、proxy_set_headerHost主机;如果手机客户端的请求头中不包含这个头,那么发送到后端开发服务器的请求就不包含这个头。在这种情况下,应用主机;如果手机客户端的请求头中不包含这个头,那么发送到后端开发服务器的请求就不包含这个头。在这种情况下,应用主机;如果手机客户端的请求头中不包含这个头,那么发送到后端开发服务器的请求就不包含这个头。在这种情况下,应用主机参数,当请求包括“主机”请求头时,其值是“主机”字段名称的值,当请求没有“主机”请求头时,是云虚拟主机的主网站域名。

3、proxy_set_header主机主机:主机:主机:代理端口;

服务器名称可以与后端开发服务器的端口号一起传输:

4.如果请求头的值是空,那么请求头就不容易传输到后端开发服务器:

proxy_set_header接受编码“”;

5.将客户的真实ip详细地址转发给后端开发服务器

proxy_set_headerHost$host
proxy_set_headerX-Forwarded-For$proxy_add_X_Forwarded_For;
proxy_set_headerX-Real-IP$remote_addr;

场景三:前端编码由vue完成,vue没有实际的网页,按照/xx/xx浏览资源,所以必须和后端管理socket区分开来。

完成:

可以根据靠近“#”的特殊符号来区分,带#的请求默认设置为静态数据资源。

location~*\.(#|css|js|jpg|jpeg|gif|png|swf|htm|html|json|xml|svg|woff|ttf|eot|map|ico)${   expires-1;   if(-f$request_filename){     break;   } }

场景4:由于服务器限制,数据库查询和浏览必须由nginx转发。

完成:

stream{ upstreamcloudsocket{ hash$remote_addrconsistent; server数据库查询具体ip:3306weight=5max_fails=3fail_timeout=30s; } server{ listen127.0.0.1:8058;#该设备代理端口号 proxy_connect_timeout10s; proxy_timeout300s;#设定手机客户端和代理服务项目中间的请求超时時间,假如五分钟内没实际 *** 作将全自动断掉。 proxy_passcloudsocket; } }

注意:

Stream等于http,所以不必放在http

场景五:浏览网站域名时,必须跳转到另一个详细地址。

完成:

server{   listen7000;   server_namelocalhost;   client_max_body_size100m;   location=/{     rewrite^(.*)https://www.baidu.compermanent;   } }

注意:

匹配完最后一个娜美标准,再下去用新位置URI标准
打破娜美标准止损的匹配,不匹配所有标准
重定向回302临时跳
永久回301永久跳。

文章里的内容就这些了。期待对大家的学习和培训有所帮助,也期待大家的应用。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/774343.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-03
下一篇 2022-05-03

发表评论

登录后才能评论

评论列表(0条)

保存