
终于理解了Nginx配置中location规则的优先级问题
这周在项目中遇到一个问题:由于我们前端打包的时候把静态文件的.map文件也上传到了生产环境中,导致这些.map文件可以被访问下载,因此被定性为"有源码泄露的安全风险问题"。因此,需要禁用这些.map文件的访问,于是决定用Nginx添加配置来禁用,但是设置过程中发现怎么都不生效,最后经过了我的各种查找和提问,终于搞清楚了Nginx的配置中location规则的...
这周在项目中遇到一个问题:由于我们前端打包的时候把静态文件的.map文件也上传到了生产环境中,导致这些.map文件可以被访问下载,因此被定性为"有源码泄露的安全风险问题"。因此,需要禁用这些.map文件的访问,于是决定用Nginx添加配置来禁用,但是设置过程中发现怎么都不生效,最后经过了我的各种查找和提问,终于搞清楚了Nginx的配置中location规则的...
Redis哨兵模式是一种特殊的模式,首先Redis提供了哨兵的命令,哨兵是一个独立的进程,作为进程,它会独立运行。其原理是哨兵通过发送命令,等待Redis服务器响应,从而监控运行的多个Redis实例。本文记录一下搭建Redis哨兵模式集群的步骤。 环境信息 {#环境信息} ------------ 这里的部署集群为3节点(1主2从3哨兵),系统为CentOS7。 | ...
redis 是最常用的缓存数据库(正确说是中间件),虽然redis的安装很简单,网上也一大堆,但是为了便于后面继续写 redis 的集群部署,这里就记录一下单机部署 redis 的方式。 Linux 安装 {#linux-安装} -------------------- 本文安装系统为CentOS7.8 ### 下载安装包 {#下载安装包} 访问官网安装包下载地址:&l...
之前有个项目有个需求是同一个地址PC端访问的时候直接返回当前网页,而如果是移动端访问,则需要重定向到移动端的另一个地址,当时想到的方案就是通过nginx来做,然后网上找了一些相关资料,最后配置达到了要求,现在分享一下这个配置方式。 需求 {#需求} -------- 先看一下这个具体的需求的复现场景,我这里用flask写了两个简单的接口,第一个借口web的请求格式为`/we...
最近发现我服务器的nginx有很多错误日志,日志显示的错误是请求上游服务错误,而上游服务的请求IP是ipv6,所以是因为上游不支持ipv6请求导致的错误。于是我经过了一系列求助,彻底解决了这个问题,在此记录一下。 问题现象 {#问题现象} ------------ ### 背景 {#背景} 首先来看看这个问题出现的背景。 我博客的图片都是使用七牛云当作图床,为了在引用图...
今天在查看服务器日志的时候无意间发现我 nginx 的日志文件有一天很大,于是猜测应该是有人在用脚本请求平台,进行想看看到底是个什么情况,所以有了这篇与 ChatGPT 的聊天记录。 统计 nginx 日志中IP请求数 {#统计-nginx-日志中ip请求数} -------------------------------------- 发现 nginx 请求异常的时候可以...
场景描述 {#场景描述} ------------ 需求理解和方案 {#需求理解和方案} ------------------ 您可以尝试使用以下Nginx配置,将无法访问的图片请求转发到本地的/media/avatar/default.png文件: ```bash location / { # 所有请求都转发到后端服务器 proxy_pass htt...
经常在内部环境需要将网站配置成 https,于是就有了一个需求:创建一个不会过期的 ngxix 自签名证书。于是就向 ChatGPT 提出了这个需求,得到了想要的解决方案。 脚本生成自签名证书 {#脚本生成自签名证书} ---------------------- 您好,下面是一个示例 shell 脚本,它可以读取配置文件中的参数并生成自签名证书。配置文件的格式为 key=...
一般的 web 服务都会设置缓存机制,特别是那些大型的服务,因为请求多,所以为了减少对数据库的查询,可以使用缓存来存储一些必要的信息给请求调用。Django 自身也有一套相对完善的缓存系统,这篇文章来介绍一下使用 redis 作为 Django 缓存的使用方法,并且说一下我在使用缓存的过程中遇到的问题。 redis 是一个 key-value 存储系统,常用于缓存的存储。先来...
我的 Django 博客项目是部署在阿里云 ECS 服务器上面的,服务器的系统是64位的 Ubuntu 16.04 系统,部署的方式是使用 Nginx + Gunicorn 实现,数据使用的是 MySQL。部署其实是一个大坑,我在部署的过程中也是踩过很多坑,所以这篇文章就来介绍一下我的项目的完整部署过程,希望看到的人能少走弯路。 项目准备 {#项目准备} ----------...