nginx知识点
反向代理
proxy_pass
用于转发请求
server { |
root与alias
root与alias:这两个指令主要功能都是将url映射为文件路径,以返回静态文件内容。主要的差别在于:
root
有一个默认值html,可以出现在http、server和location指令块内,并且会将完整的url映射进文件路径中alias
没有默认值,只能出现在location指令块中,并且只会将location后的url映射到文件路径 举例说明:
location /root { |
当访问localhost/root/
时,根据配置的指令值,会在html
后加上/root
再去访问index.html
。所以实际访问的路由地址为localhost/html/root/index.html
。这是因为root
会将完整的url
映射进文件路径中。
而访问localhost/alias/
时,访问的路由地址为localhost/html/index.html
location
匹配规则
nginx
的 location
匹配规则是用于指定不同请求 URI 的处理方式的。location
块可以根据不同的匹配规则来定义,以确定应该如何处理特定的请求。以下是 nginx
中常见的 location
匹配规则:
- 前缀匹配:
location /path/ { |
- 精确匹配:
location = /exact_path { |
- 正则表达式匹配:
location ~ \.php$ { |
- 不区分大小写的正则表达式匹配:
location ~* \.png$ { |
- 最长前缀匹配:
location ^~ /images/ { |
- 优先级:
location
的匹配是按照配置文件中出现的顺序优先匹配的,因此更早出现的location
具有更高的优先级。
以上是一些常见的 nginx location
匹配规则。在配置文件中,可以根据实际需求使用这些规则,以确保请求被正确地路由和处理。
rewrite
rewrite
功能就是,使用nginx提供的全局变量或自己设置的变量,结合正则表达式和标记位实现URL重写以及重定向。- 比如:更换域名后需要保持旧的域名能跳转到新的域名上、某网页发生改变需要跳转到新的页面、网站防盗链等等需求。
rewrite
只能放在server{},location{},if{}
中,并且默认只能对域名后边的除去传递的参数外的字符串起作用,location /static/
{
rewrite ^ http://www.abc.com ;
}
解释:上面实现的功能:假设网站域名为www.blog.com
;那么配置上面的功能是输入www.blog.com/static/
时,不管static
后面是什么页面(页面也可以不存在),那么最终会同样跳转到www.abc.com
这个网站。
其他
location /audit-report/ { |
location /audit-report/ { |
proxy_cookie_path
是用于在Nginx中配置代理服务器的指令,它用于设置代理服务器传递的HTTP响应中的Cookie的路径。在你提供的查询中,这个指令被用来设置Cookie的路径为”/“,并且附带了一些安全性相关的选项:
httponly
:这个选项告诉浏览器只在HTTP请求中发送Cookie,不允许脚本通过document.cookie
访问。这有助于减少跨站脚本攻击(XSS)的风险。secure
:这个选项要求Cookie只能通过加密的连接(HTTPS)传输,提高了数据的安全性,防止在传输过程中被窃听。SameSite=Lax
:这个选项是为了防止跨站请求伪造(CSRF)攻击。它限制了第三方站点对Cookie的访问,仅在顶级导航时发送Cookie,从而减少了CSRF攻击的潜在风险。
总体而言,这个配置有助于提高通过Nginx代理服务器传递的Cookie的安全性。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 晚风予星!
评论