前端必备 Nginx 配置

本文详细介绍了Nginx的配置,包括请求变量、解决跨域的方法、请求过滤策略以及gzip压缩的配置。同时,讨论了Nginx如何实现负载均衡及其策略,以及TCP的相关知识。此外,还涉及了浏览器缓存、本地存储、页面渲染、安全问题和性能优化等内容。
摘要由CSDN通过智能技术生成

| $host | 请求信息中的Host,如果请求中没有Host行,则等于设置的服务器名 |

| $request_method | 客户端请求类型,如GET、POST |

| $remote_addr | 客户端的IP地址 |

| $args | 请求中的参数 |

| $content_length | 请求头中的Content-length字段 |

| $http_user_agent | 客户端agent信息 |

| $http_cookie | 客户端cookie信息 |

| $remote_addr | 客户端的IP地址 |

| $remote_port | 客户端的端口 |

| $server_protocol | 请求使用的协议,如HTTP/1.0、·HTTP/1.1` |

| $server_addr | 服务器地址 |

| $server_name | 服务器名称 |

| $server_port | 服务器的端口号 |

解决跨域

先追本溯源以下,跨域究竟是怎么回事。

跨域的定义

同源策略限制了从同一个源加载的文档或脚本如何与来自另一个源的资源进行交互。这是一个用于隔离潜在恶意文件的重要安全机制。通常不允许不同源间的读操作。

同源的定义

如果两个页面的协议,端口(如果有指定)和域名都相同,则两个页面具有相同的源。

image

nginx解决跨域的原理

例如:

前端server的域名为:fe.server.com

后端服务的域名为:dev.server.com

现在我在fe.server.com对dev.server.com发起请求一定会出现跨域。

现在我们只需要启动一个nginx服务器,将server_name设置为fe.server.com,然后设置相应的location以拦截前端需要跨域的请求,最后将请求代理回dev.server.com。如下面的配置:

server {

listen 80;

server_name fe.server.com;

location / {

proxy_pass dev.server.com;

}

}

这样可以完美绕过浏览器的同源策略:fe.server.com访问nginx的fe.server.com属于同源访问,而nginx对服务端转发的请求不会触发浏览器的同源策略。

请求过滤

image

根据状态码过滤

error_page 500 501 502 503 504 506 /50x.html

  • 28
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值