nginx 配置referrer
时间: 2023-11-04 07:54:05 浏览: 44
要配置 Nginx 的 Referrer,你可以使用 `valid_referers` 指令。这个指令允许你定义一个或多个允许的 referrer 值列表,来限制请求的来源。
下面是一个示例配置,仅允许 `example.com` 和 `subdomain.example.com` 这两个域名作为合法的 referrer:
```
server {
...
location / {
valid_referers none blocked example.com subdomain.example.com;
if ($invalid_referer) {
return 403;
}
...
}
...
}
```
在上面的示例中,如果请求的 referrer 不是上述列表中的任何一个,Nginx 会返回 403 Forbidden 错误。
你也可以使用通配符来匹配一定规则的 referrer。例如,你可以使用 `*.example.com` 来匹配所有以 `example.com` 结尾的子域名。
注意,配置 Referrer 验证并不完全可靠,因为请求的 referrer 可以被伪造或者篡改。因此,这只是一个简单的措施来限制一部分非法请求。如果需要更强大的安全控制,你可能需要结合其他方式来保护你的应用程序。
相关问题
nginx配置文件模板
回答: 以下是一个nginx配置文件的模板示例:
```
access_log /usr/local/nginx/logs/access.log main;
server_tokens off;
sendfile on;
#tcp_nopush on;
upstream backend {
server 127.0.0.1:8010 weight=1;
server 127.0.0.1:8080 weight=2;
server 127.0.0.1:8030 weight=1 backup;
}
location / {
proxy_pass http://backend;
}
location /idi2.0 {
proxy_pass http://127.0.0.1:8004;
add_header Location $host;
root /apps/idi/web;
if (-d $request_filename){
rewrite ^/(.*)(\[^/\])$ $scheme://$host/$1$2/ permanent;
}
index index.html index.htm;
}
location /idiApp {
proxy_pass http://127.0.0.1:8003;
add_header Location $host;
root /apps/idi/web;
if (-d $request_filename){
rewrite ^/(.*)(\[^/\])$ $scheme://$host/$1$2/ permanent;
}
index index.html index.htm;
}
location /iidi/ {
proxy_pass http://127.0.0.1:8005/;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host:$server_port;
proxy_redirect off;
add_header Access-Control-Allow-Origin *;
add_header Content-Security-Policy "default-src 'self'";
add_header Referrer-Policy: origin;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
```
这个模板包含了一些常见的nginx配置项,如日志记录、负载均衡、代理等。你可以根据自己的需求进行修改和扩展。
#### 引用[.reference_title]
- *1* *3* [nginx配置模板](https://blog.csdn.net/weizhen1209/article/details/131081228)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [nginx常用配置模板](https://blog.csdn.net/sly1311220942/article/details/123423983)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
web服务器配置Referrer-Policy配置头信息
在Web服务器上配置Referrer-Policy可以通过设置HTTP响应头来实现。Referrer-Policy头控制浏览器在发送referer(引荐页)头时所使用的策略。
以下是一些常见的Referrer-Policy配置:
- no-referrer:不发送Referrer头
- no-referrer-when-downgrade:同源时发送Referrer头,跨域时不发送
- origin:只发送当前页面的协议、域名和端口信息作为Referrer头(不带路径和查询参数)
- origin-when-cross-origin:同源时发送完整的Referrer头,跨域时只发送当前页面的协议、域名和端口信息作为Referrer头(不带路径和查询参数)
- same-origin:同源时发送完整的Referrer头,跨域时不发送
- strict-origin:只发送当前页面的协议、域名和端口信息作为Referrer头(不带路径和查询参数),并且只在HTTPS到HTTPS的请求中发送
- strict-origin-when-cross-origin:同源时发送完整的Referrer头,跨域时只发送当前页面的协议、域名和端口信息作为Referrer头(不带路径和查询参数),并且只在HTTPS到HTTPS的请求中发送
具体实现方式可以根据不同的Web服务器进行配置,例如在Apache服务器中可以通过修改.htaccess文件实现:
```
<IfModule mod_headers.c>
Header set Referrer-Policy "no-referrer"
</IfModule>
```
在Nginx服务器中可以通过修改配置文件实现:
```
add_header Referrer-Policy "no-referrer";
```