一些网站有即时聊天功能,经常一边开后台一边前端登陆退出多个账号!经常出现websocket链接不上!原因:由于前端cookie都时经过加密。所以导致长度大小会很大。此时nginx代理。如果是跨域代理的话不会携带cookie,但是如果是同源代理的话会携带cookie。nginx默认请求头大小为1k ,此时因为cookie导致大小溢出,导致连接websocket 时会fail。解决方案:1、忽略cookie信息(因为连接websocket是不需要cookie的直接在反向代理那个网...
[root@test default]#cat default.conf
server {
listen 80 default_server;
listen [::]:80 default_server;
listen 443 ssl&n...
1.gzip压缩优化2.expires缓存优化3.网络IO事件模型优化4.隐藏软件名称和版本号5.防盗链优化6.禁止恶意域名解析7.禁止通过IP地址访问网站。8.HTTP请求方法优化。9.防DOS攻击单IP并发连接的控制,与连接速率控制。10.严格设置Web站点目录的权限。11.将Nginx进程以及站点运行于监牢模式(nginx服务降权启动(不能使用80端口,使用其他端口,例如8080)、站点目录设置普通用户)。12.通过robot协议以及HTTP_USER_AGENT防爬虫...
SemrushBot|python|Linespider|crawler|simplecrawler|ZoominfoBot|zoombot|Neevabot|coccocbot|Facebot|YandexBot|DotBot|DataForSeoBot|MJ12bot|BLEXBot|trendictionbot0|trendictionbot|AhrefsBot|hubspot|opensiteexplorer|leiki|webmeup|GPTBot|DotBot|A...
2023-11-02 /
111 次浏览 /
网络文摘
nginx 防止文件被下载配置location ~ \.(zip|rar|sql|bak|gz|7z)$ {
return 444;
} 如果网站数据库导出到站点根目录进行备份,很有可能也会被别人下载,从而导致数据丢失的风险,以上规则可以防止一些常规文件被下载,可根据实际情况调整。nginx 屏蔽非常见蜘蛛爬虫配置if ($http_user_agent ~* ...
UA是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等,全称为User Agent。他在HTTP协议中存在于请求头的位置被发往服务器,因此我们的web服务器可以通过一定规则来禁止某些特定的“用户”来访问。在Nginx中,UA使用的是其内置变量$http_user_agent,我们在配置文件中加入if判断即可达到禁止一些UA访问。通用格式 if ($http_user_agen...
[emerg]: could not build the proxy_headers_hash, you should increase either[emerg]: could not build the proxy_headers_hash, you should increase either proxy_headers_hash_max_size: 512 or proxy_headers_hash_bucket_size: 640修改nginx.conf,在http...
四层负载均衡所谓四层就是OSI模型的传输层,
主要是基于tcp/ip的负载均衡模式,即基于ip和端口的方式实现将请求转发至后端节点。
常用场景
1)实现tcp协议的负载均衡
例:对后端服务MySQL从库、以及Redis等服务的负载。
纯粹基于四层的Web应用无法满足当下的负载均衡需求,中小企业直接会选择基于7层的负载均衡模式(nginx proxy)。
见数据库集群架构
2)四层+七层负载均衡架构
在Web前端的7层负载均衡之前,架设四层负载均衡以实...
nginx四层负载均衡实现主要就是stream模块1)stream模块官方说明:
http://nginx.org/en/docs/stream/ngx_stream_core_module.html#stream
The ngx_stream_core_module module is available since version 1.9.0. This module ...
Nginx基于user_agent及浏览器实现转发【基于客户端设备】服务说明列表:
节点 IP及端口 测试地址 字符串为代表业务
web01 10.0.0.7:80 客户端(PC、谷歌浏览器) pc_pools
web02 10.0.0.8:80 iphone(谷歌f12模拟或者手机访问) phone_pools使用相同的域名,根据来源设备调度到不同的服务器集群web01:pc[root@web01 ~]# cat /etc/nginx/c...
Nginx 基于域名的虚拟主机实践1、Nginx master和worker进程1.master进程:老大不干活,管理监控小弟
2.多个worker_processes
负责干活的,接收请求并处理。占用内存资源,数量和CPU核数相当。2、Nginx目录结构[root@web01 ~]$rpm -ql nginx
/etc/logrotate.d/nginx #日志切割配置,/etc/logrotate.conf
/etc/nginx
/...
Nginx安装
两种安装方法。
yum安装:
地址:http://nginx.org/en/linux_packages.html#RHEL
1.1 配置官方源yum安装
[root@web ~]# vim /etc/yum.repos.d/nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch...
client_header_timeout语法 client_header_timeout time默认值 60s上下文 http server说明 指定等待client发送一个请求头的超时时间(例如:GET / HTTP/1.1).仅当在一次read中,没有收到请求头,才会算成超时。如果在超时时间内,client没发送任何东西,nginx返回HTTP状态码408(“Request timed out”)client_body_timeout语法 client_body_ti...
location / {
add_header 'Access-Control-Allow-Origin' $http_origin;
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-...
编译安装Nginx
从1.9.0开始,nginx就支持对TCP的转发,而到了1.9.13时,UDP转发也支持了。提供此功能的模块为ngx_stream_core。
不过Nginx默认没有开启此模块,所以需要手动安装
安装跳过
修改nginx.conf配置文件添加如下:
TCP转发
stream {
server {
listen 3000;
proxy_pass 127.0.0.1:3306;
&nb...