搜索
首页运维NginxNginx跨域访问和防盗链如何配置

跨域访问控制

跨域访问

Nginx跨域访问和防盗链如何配置

为什么浏览器禁止跨域访问

不安全,容易出现csrf攻击!

Nginx跨域访问和防盗链如何配置

如果黑客控制的网站b在响应头里添加了让客户端去访问网站a的恶意信息,就会出现csrf攻击

nginx如何配置跨域访问

add_header语法

  • syntax:add_header name value [always];

  • default:—

  • context:http, server, location, if in location

语法解释:

  • add_header name value [always];

  • name 表示响应头返回的key

  • value 表示响应头返回的key对应的value

  • add_header跨域配置

location ~ .*\.(htm|html)$ {
  add_header access-control-allow-origin *;
  add_header access-control-allow-methods get,post,put,delete,options;
  root /opt/app/code;
}

防盗链

防盗链目的

  • 防止资源被盗用。

  • 防止非正常用户访问,占用网站资源,影响网站性能,势必影响正常用户访问

基于http_referer防盗链配置模块

ngx_http_referer_module模块用于阻止对“referer”头字段中具有无效值的请求访问站点。

举例

valid_referers none blocked server_names
 
        *.example.com example.* www.example.org/galleries/
 
        ~\.google\.;
 
if ($invalid_referer) {
 
  return 403;
 
}

referer_hash_bucket_size语法

  • syntax: referer_hash_bucket_size size;  

  • default: referer_hash_bucket_size 64;

  • context: server, location

语法解释:

referer_hash_bucket_size size;表示设置有效引用散列表的存储区大小。

referer_hash_max_size 语法

  • syntax: referer_hash_max_size size;

  • default: referer_hash_max_size 2048;

  • context: server, location

语法解释:

referer_hash_max_size size;表示设置有效引用者哈希表的最大大小。

valid_referers语法

  • syntax: valid_referers none | blocked | server_names | string ...;

  • default: —

  • context: server, location

语法解释:

  • valid_referers none | blocked | server_names | string ...;

  • none表示请求标头中缺少“referer”字段;

  • blocked表示“referer”字段出现在请求标头中,但其值已被防火墙或代理服务器删除; 这些值是不以“http://”或“https://”开头的字符串;

  • server_names 表示“referer”请求头字段包含一个服务器名称;

  • string 表示定义服务器名称和可选的uri前缀。 服务器名称的开头或结尾可以包含“*”。 在检查期间,“referer”字段中的服务器端口被忽略;

防盗链小案例

touch test_referer.html (在 /op/app/code 目录下)

<html>
<head>
  <meta charset="utf-8">
  <title>imooc1</title>
</head>
<body style="background-color:red;"><br data-filtered="filtered">   <h1>张彪</h1>
  <img src="http://192.168.1.112/wei.png"/>
</body>
</html>

Nginx跨域访问和防盗链如何配置

配置防盗链如果不是从 www.zhangbiao.com 域名转来的就会报错

location ~ .*\.(jpg|gif|png)$ {
  valid_referers none blocked www.zhangbiao.com;
  if ($invalid_referer) {
    return 403;
  }
  root /opt/app/code/images;
}
location ~ /test_refer.html {
  root /opt/app/code;
 
}

访问

http://192.168.1.112/test_refer.html

Nginx跨域访问和防盗链如何配置

访问

http://www.zhangbiao.com/test_refer.html

Nginx跨域访问和防盗链如何配置

允许其他网站访问自己网站资源配置

Nginx跨域访问和防盗链如何配置

以上是Nginx跨域访问和防盗链如何配置的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文转载于:亿速云。如有侵权,请联系admin@php.cn删除
NGINX:现代Web应用程序的多功能工具NGINX:现代Web应用程序的多功能工具Apr 11, 2025 am 12:03 AM

NGINXisessentialformodernwebapplicationsduetoitsrolesasareverseproxy,loadbalancer,andwebserver,offeringhighperformanceandscalability.1)Itactsasareverseproxy,enhancingsecurityandperformancebycachingandloadbalancing.2)NGINXsupportsvariousloadbalancingm

NGINX SSL/TLS配置:使用HTTPS确保您的网站NGINX SSL/TLS配置:使用HTTPS确保您的网站Apr 10, 2025 am 09:38 AM

通过Nginx配置SSL/TLS来确保网站安全,需要以下步骤:1.创建基本配置,指定SSL证书和私钥;2.优化配置,启用HTTP/2和OCSPStapling;3.调试常见错误,如证书路径和加密套件问题;4.应用性能优化建议,如使用Let'sEncrypt和会话复用。

NGINX面试问题:ACE您的DevOps/System Admin面试NGINX面试问题:ACE您的DevOps/System Admin面试Apr 09, 2025 am 12:14 AM

Nginx是高性能的HTTP和反向代理服务器,擅长处理高并发连接。1)基本配置:监听端口并提供静态文件服务。2)高级配置:实现反向代理和负载均衡。3)调试技巧:检查错误日志和测试配置文件。4)性能优化:启用Gzip压缩和调整缓存策略。

NGINX缓存技术:改善网站性能NGINX缓存技术:改善网站性能Apr 08, 2025 am 12:18 AM

Nginx缓存可以通过以下步骤显着提升网站性能:1)定义缓存区和设置缓存路径;2)配置缓存有效期;3)根据不同内容设置不同的缓存策略;4)优化缓存存储和负载均衡;5)监控和调试缓存效果。通过这些方法,Nginx缓存能减少后端服务器压力,提升响应速度和用户体验。

带Docker的NGINX:部署和缩放容器化应用程序带Docker的NGINX:部署和缩放容器化应用程序Apr 07, 2025 am 12:08 AM

使用DockerCompose可以简化Nginx的部署和管理,通过DockerSwarm或Kubernetes进行扩展是常见的做法。1)使用DockerCompose定义和运行Nginx容器,2)通过DockerSwarm或Kubernetes实现集群管理和自动扩展。

高级NGINX配置:掌握服务器块和反向代理高级NGINX配置:掌握服务器块和反向代理Apr 06, 2025 am 12:05 AM

Nginx的高级配置可以通过服务器块和反向代理实现:1.服务器块允许在一个实例中运行多个网站,每个块独立配置。2.反向代理将请求转发到后端服务器,实现负载均衡和缓存加速。

NGINX性能调整:针对速度和低潜伏期进行优化NGINX性能调整:针对速度和低潜伏期进行优化Apr 05, 2025 am 12:08 AM

Nginx性能调优可以通过调整worker进程数、连接池大小、启用Gzip压缩和HTTP/2协议、使用缓存和负载均衡来实现。1.调整worker进程数和连接池大小:worker_processesauto;events{worker_connections1024;}。2.启用Gzip压缩和HTTP/2协议:http{gzipon;server{listen443sslhttp2;}}。3.使用缓存优化:http{proxy_cache_path/path/to/cachelevels=1:2k

NGINX安全性硬化:保护您的Web服务器免受攻击NGINX安全性硬化:保护您的Web服务器免受攻击Apr 04, 2025 am 12:06 AM

Nginx安全强化可以通过以下步骤实现:1)确保所有流量通过HTTPS传输,2)配置HTTP头增强通信安全性,3)设置SSL/TLS加密数据传输,4)实施访问控制和速率限制防范恶意流量,5)使用ngx_http_secure_link_module模块防范SQL注入攻击,这些措施能有效提升Nginx服务器的安全性。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
3 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器

安全考试浏览器

安全考试浏览器

Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用