首页
Search
1
安装docker时报错container-selinux >= 2:2.74
124 阅读
2
rsync命令(可替代rm删除巨量文件)
101 阅读
3
docker 镜像加速器配置,daemon.json文件详解
90 阅读
4
使用国内镜像地址拉取k8s安装需要的images
79 阅读
5
Redhat 8版本安装ansible步骤
75 阅读
运维
自动化运维
数据库
容器与k8s
环境
云计算
脚本
登录
Search
标签搜索
命令
nginx
Mingrui
累计撰写
64
篇文章
累计收到
0
条评论
首页
栏目
运维
自动化运维
数据库
容器与k8s
环境
云计算
脚本
页面
搜索到
7
篇与
的结果
2024-09-26
nginx配置禁止通过IP地址直接访问网站
默认情况下Nginx配置完毕后,是允许ip地址直接访问的。这样做的一个显式风险是网络上的各种ip访问扫码工具会收集我们的web应用程序信息,容易造成信息泄露。相应的,可以在access.log中看到很多通过IP地址访问的记录。修改nginx的配置文件可以禁止通过IP地址访问,相应的配置如下:server { listen 80 default_server; listen 443 default_server; server_tokens off; server_name _ ; return 444; ssl_certificate /usr/share/nginx/doc_html/doc.zhangmingrui.cool_bundle.crt; ssl_certificate_key /usr/share/nginx/doc_html/doc.zhangmingrui.cool.key; } 说明:default_server 代表默认无匹配(的server_name)时由当前的server处理。server_name _ 代表无效域名。return 444 匹配到该server后,返回444状态(前段收到ERR_EMPTY_RESPONSE 错误)。
2024年09月26日
56 阅读
0 评论
0 点赞
2024-03-10
Redhat 8版本安装ansible步骤
配置本地和网络yum源rm -rf /etc/yum.repos.d/* yum install -y https://mirrors.aliyun.com/epel/epel-release-latest-8.noarch.rpm sed -i 's|^#baseurl=https://download.example/pub|baseurl=https://mirrors.aliyun.com|' /etc/yum.repos.d/epel* sed -i 's|^metalink|#metalink|' /etc/yum.repos.d/epel* vi /etc/yum.repos.d/local.repo local-BaseOS] name=local-BaseOS baseurl=file:///mnt/BaseOS/ enabled=1 gpgcheck=0 [local-APPStream] name=local-APPStream baseurl=file:///mnt/AppStream/ enabled=1 gpgcheck=0 直接使用yum安装ansible时会报错问题: conflicting requests - nothing provides /usr/bin/python3.11 needed by ansible-8.3.0-1.el8.noarch - nothing provides python(abi) = 3.11 needed by ansible-8.3.0-1.el8.noarch - nothing provides python3.11dist(ansible-core) >= 2.15.3 needed by ansible-8.3.0-1.el8.noarch (尝试添加 '--skip-broken' 来跳过无法安装的软件包 或 '--nobest' 来不只使用最佳选择的软件包)正确的安装方式yum install python3 python3-pip pip3 install --upgrade pip pip3 install setuptools-rust pip3 install ansible
2024年03月10日
75 阅读
0 评论
0 点赞
2024-03-06
nginx反向代理(负载均衡)中部分参数详解
nginx的代理功能是通过http proxy 模块实现的。该模块每个选项的详细解释如下。proxy_set_header 设置HTTP请求header项传给后端服务器节点,例如:可以实现让后端服务器节点获取访问客户端用户的真实IP地址。client_body_buffer_size 用于指定客户端请求主体缓冲区大小。proxy_connect_timeout 表示反向代理与后端服务器连接的超时时间,即发起握手等候响应的超时时间。proxy_send_timeout 表示代理后端服务器的数据传回时间,即在规定时间之内后端服务器必须传完所有的数据,否则nginx将断开这个连接。proxy_read_timeout 设置nginx从代理的后端服务器获取信息的时间。表示连接成功之后,nginx等待后端服务器的响应时间,也就是nginx已经进入后端的排队之中等候处理的时间。proxy_buffer_size 设置缓冲区大小,默认该缓冲区大小等于指令proxy_buffers 设置的大小。proxy_buffers 设置缓冲区大小。nginx从代理的后端服务器获取的响应信息,会放置到缓冲区。proxy_busy_buffers_size 用于设置系统繁忙时可以使用的proxy_buffer的大小。官方推荐的大小为proxy_buffers*2。proxy_temp_file_write_size 指定proxy缓存临时文件的大小。{lamp/}nginx反向代理重要参数解释proxy_pass http://server_pools;通过proxy_pass功能把用户的请求转发给反向代理定义的upstream服务器池proxy_set_header Host $host;在代理向后端服务器发送的http请求头中加入host字段信息,用于当后端服务器配置有多个虚拟主机时,可以识别代理的是哪个虚拟主机。这是节点服务器多虚拟主机时的关键配置proxy_set_header X-Forwarded-For $remote_addr;在代理向后端服务器发送的http请求头中加入X-Forwarded-For字段信息,用于后端服务器程序、日志等接收记录真实用户的IP,而不是代理服务器的IP。这是反向代理时,节点服务器获取用户真实IP的必要功能配置。proxy_set_header Host $host; proxy_set_header X-Forwarded-For $remote_addr; proxy_connect_timeout 60; proxy_send_timeout 60; proxy_read_timeout 60; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k;{card-default label="特别说明" width=""}反向代理服务器如果配置了proxy_set_header X-Forwarded-For $remote_addr参数,这时如果节点服务器需要访问日志记录用户的真实IP,还需要在节点服务器上对日志格式进行配置,这样才能把代理传过来的X-Forwarded-For头信息记录下来。具体配置如下。{/card-default}#nginx.conf文件 http { include mime.types; …… log_format main '$remote_addr - $remote_user [$time_local] "$request"' '$status $body_bytes_sent "$http_referer"' '"$http_user_agent" " $http_x_forwarder_for"' ; …… }
2024年03月06日
55 阅读
0 评论
0 点赞
2024-03-05
nginx中location匹配规则与regex常用的正则表达式
location指令的作用是根据用户请求的URI来执行不同的应用。也就是根据用户请求的URI进行匹配,匹配成功即进行相关的操作location [=|~|~*|^~] uri { … }~:用于区分大小写的匹配(大小写敏感)~*:用于不区分大小写的匹配。!:可以用逻辑操作符“!”对上面的匹配取反,即“!~”、“!~*”^~:进行常规的字符串匹配检查后不做正则表达式的检查。不同匹配标识符的优先级优先级标识符匹配说明1location = / {精确匹配 /2location ^~ /images/ {匹配常规字符串,不做正则匹配检查3location ~* .(gif jpg jpeg)$ {正则匹配4location /documents/ {匹配常规字符串,如果有正则,优先匹配正则5location / {所有location都不能匹配后的默认匹配regex常用的正则表达式\ 将后面接着的字符标记为一个特殊字符或一个原义字符或一个向后引用。如,“\n”匹配一个换行符,“\”和“$”匹配“$”^ 匹配输入字符串的起始位置,$ 匹配输入字符串的结束位置匹配前面的字符零次或多次匹配前面的字符一次或多次? 匹配前面的字符零次或一次(pattern) 保留或作为一个整体。匹配括号内的pattern,并可以在后面获取相应的匹配。常用$0...$9属性获取小括号中匹配的内容
2024年03月05日
54 阅读
0 评论
0 点赞
2024-03-05
HTTP状态码解读
{callout color="#ff0000"}HTTP状态码是用来表示WEB服务器响应HTTP请求状态的数字代码。每当WEB客户端向服务器发送一个HTTP请求时,WEB服务器都会返回一个状态响应代码。这个代码是一个三位的数字,作用是告知WEB客户端此次请求是否成功,或者是否需要采取其他的动作方式{/callout}不同范围的状态码及其对应的作用100~199 用于指定客户端相应的某些动作200~299 用于表示请求成功300~399 (重定向)用于已经移动的文件,并且常被包含在定位头信息中指定新的地址400~499 用于指出客户端的错误500~599 用于指出服务器的错误常见状态码及其对应的作用200 服务器成功返回网页。这是成功的HTTP请求返回的标准状态码301 Moved Permanently 永久重定向302 临时重定向403 Forbidden 禁止访问,虽然这个访问是合法的,但是服务器端因为匹配了预先设置的规则而拒绝响应客户端的请求,此类问题一般为服务器或服务权限配置不当所致。典型的如nginx配置文件中没有配置默认首页参数,或者首页文件在站点目录下不存在。也可能是nginx没有站点目录或内部程序文件的访问权限,或者nginx配置文件中设置了allow或者deny等权限控制。404 Not Found 服务器找不到客户端请求的指定页面,可能是客户端请求了服务器上不存在的资源所致500 Internal Server Error 内部服务器错误,服务器遇到了意料之外的情况,不能完成客户端的请求。这是一个较为笼统的报错,一般为服务器的设置或内部程序问题导致。例如,SELinux开启,而又没有为HTTP设置规则许可,客户端访问就是500502 Bad Gateway 网关报错,一般是代理服务器请求后端服务时,后端服务器不可用或没有完成响应网关服务器。这通常为反向代理服务器下面的节点出问题所致。503 Service Unavailable 服务当前不可用,可能是服务器超载或停机维护所致,或者是反向代理服务器后面没有可以提供服务的节点504 Gateway Timeout 网关超时,一般是网关代理服务器请求后端服务时,后端服务没有在特定的时间内完成处理请求。多数是服务器过载导致没有在指定的时间内返回数据给前段代理服务器。其他状态码及其对应的作用201 (已创建) 请求成功并且服务器创建了新的资源202 (已接受) 服务器已接受请求,但尚未处理203 (非授权信息) 服务器已成功处理了请求,但返回的信息可能来自另一来源204 (无内容) 服务器成功处理了请求,但没有返回任何内容205 (重置内容) 服务器成功处理了请求,但没有返回任何内容206 (部分内容) 服务器成功处理了部分 GET 请求303 (查看其他位置) 请求者应当对不同的位置使用单独的 GET 请求来检索响应时,服务器返回此代码304 (未修改) 自从上次请求后,请求的网页未修改过。 服务器返回此响应时,不会返回网页内容305 (使用代理) 请求者只能使用代理访问请求的网页。 如果服务器返回此响应,还表示请求者应使用代理307 (临时重定向) 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求401 (未授权) 请求要求身份验证。 对于需要登录的网页,服务器可能返回此响应405 (方法禁用) 禁用请求中指定的方法406 (不接受) 无法使用请求的内容特性响应请求的网页407 (需要代理授权) 此状态代码与 401(未授权)类似,但指定请求者应当授权使用代理408 (请求超时) 服务器等候请求时发生超时409 (冲突) 服务器在完成请求时发生冲突。 服务器必须在响应中包含有关冲突的信息410 (已删除) 如果请求的资源已永久删除,服务器就会返回此响应411 (需要有效长度) 服务器不接受不含有效内容长度标头字段的请求412 (未满足前提条件) 服务器未满足请求者在请求中设置的其中一个前提条件413 (请求实体过大) 服务器无法处理请求,因为请求实体过大,超出服务器的处理能力414 (请求的 URI 过长) 请求的 URI(通常为网址)过长,服务器无法处理415 (不支持的媒体类型) 请求的格式不受请求页面的支持416 (请求范围不符合要求) 如果页面无法提供请求的范围,则服务器会返回此状态代码417 (未满足期望值) 服务器未满足”期望”请求标头字段的要求501 (尚未实施) 服务器不具备完成请求的功能。 例如,服务器无法识别请求方法时可能会返回此代码505 (HTTP 版本不受支持) 服务器不支持请求中所用的 HTTP 协议版本
2024年03月05日
55 阅读
0 评论
0 点赞
1
2