当前位置:首页 > 服务器 > 正文

代理服务器nginx配置


一、nginx如何配置代理
nginx源代码:https://trac.nginx.org/nginx/browser
nginx官方站点:https://www.nginx.org/
...#全局阻止
事件{#阻止事件
...
http#blockinghttp
{
1.全局锁:全局模块影响nginx全局语句一般有一个用户在运行nginx服务器,路径中存放的是nginx进程的pid。 日志存储位置、配置文件介绍、可生成的worker和进程数量。
2.事件阻止:该配置会影响nginx服务器或与用户的网络连接。 每个进程都有最大连接数,选择基于事件的模型来处理连接请求。 以及是否同时接受多个请求。 连接,启用多个网络连接的序列化。
3.http阻塞:可以嵌套多个服务器,配置代理和缓存
4。 服务器块:配置虚拟主机参数,一个http
5.LocationBlock:配置请求路径。
############每个命令必须以分号结尾。 ################
error_loglog/error.logdebug;#指定日志路径和级别。 该设置可以放在全局块、http块、服务器块中,级别如下:
debug|info|notice|warn|error|crit|alert|emerg
事件{
}http{
4.简单的nginx命令
5.配置分析

服务器{
1.Location支持配置项目的绝对路径
2API,location^~/user/代表nginx,会拦截请求地址中包含“/user/”字样的请求。 其实这就是我们的ajax请求路径。 拦截到请求后,我们将write方法拆分为两种情况,将请求转发到下面的proxy_pass地址。
例如:
a。 如上所示,如果proxy_passURL以/结尾,则转发请求时不会包含相应的/api/。 也就是说,如果登录请求URL为localhost:80/user/login且proxy_passURL为https://a.xx.com:8080/platform/,Nginx会将请求转发到https://a.xx.com:8080/platform/user/login
b如果proxy_passURL不以/结尾,那么转发请求时会包含对应的/user/,即如果l'登录请求URL是localhost:60001/user/login,proxy_passURL是https://a.xx.com:8080/platform/,Nginx会将这个请求转发到https://a.xx.com:8080/user/login
3.一般登录后,服务器会通过Set-Cookie重写我们本地电脑上的token。 如果不设置proxy_cookie_path,会导致服务器的Set-Cookie命令无效,cookie不会存储在本地,导致token丢失。
这里关于proxy_cookie_path需要注意的一点是,如果proxy_passURL是https://a.xx.com:8080/user/,在这种情况下proxy_cookie_path应设置为/platform//(注意两个斜杠(中间有空格)
如果proxy_passURL是https://a.xx.com:8080/,在这种情况下proxy_cookie_path应设置为//(请注意,它就在那里)两个斜杠之间有一个空格)
语法规则:position[=||*|^~]/uri/{…}