Nginx额外篇之一些错误解决办法

2023-11-03

错误1:  配置了Nginx,但是打开页面是乱码。

解决办法如下: 

# 在你个人的sever端添加如下2行

default_type    ‘text/html’;  #设置内容输出内容型为 html htm shtml 三种类型
charset utf-8;                #设置字符集为 uft-8

示例:
server {
    listen 80;
    server_name xxx;
    ......

    default_type    ‘text/html’;
    charset utf-8;

    ....
}

#重启Nginx
nginx -t            
nginx -s reload 

为什么不直接写在 http { } 段了?而是写在server段了?
    在服务器操作上,一般情况自己只需要对自己的操作进修改即可。当有多个虚拟主机共存时候,你不知道你同事配置的虚拟机主机是不是需要指定字符集,去问他又耽搁大家的时间,还不如只对自己的操作部分做修改,减少不必要的沟通,除非是只修改自己的部份操作解决不了问题在来跟同事商谈。

错误2:访问Nginx软连接资源是403

原因:nginx 403代表 服务器已经接收到请求,但是拒绝处理。什么情况下拒绝处理了?一般是Nginx的运行用户对你访问的资源没有权限,所以才会返回403(针对某请求特定返回403的情况这里不论)

解决办法:

我的配置:
cat /usr/local/nginx/conf/vhost/del.conf
server {
    listen 80;
    server_name xxxx;
    root /data/www/download;
 }

$ ll /data/www/download/
总用量 0
lrwxrwxrwx 1 www www 30 7月   3 16:50 delete -> /opt/scripts/myscripts/delete/
注:/data/www/download/ 下的delete就是我们软连接。可以看到他是www权限的,按逻辑是可以正常访问的,实际偏偏就是403.

我们在客户端发起访问: curl -vI xxxx/delete/ 实际在服务器访问的是 /opt/scripts/myscripts/delete/ 这个文件夹

解决办法:你得看看 /opt/scripts/myscripts/ 有没有www用户权限,
我的是因为 /opt/scripts/myscripts/ 这个目录是属于root用户的,www用户没有权限访问

最终解决方法:
chown www.www -R /opt/scripts/myscripts/ 
nginx -t 
nginx -s reload

错误3:Nginx配置了error_page,但是没有跳转

我们做web运维的经常有个需求就是将访问的某个状态跳转到固定的页面,比如用户访问是404时,就跳转到我们指定页面。

示例:
upstream test_server {
  server 192.168.0.2 max_fails=5 fail_timeout=30;
}

server {
    ......
   error_page 404 = @test_server;

   location @test_server {
        include proxy.conf;
        proxy_pass https://dianlut_old_server;
   }
}


但是你配置好了之后,真正进行测试的时候,发现打开的404还是没法跳转到192.168.0.2上。怎么办了?
一般情况下,是你的Nginx没有开启  proxy_intercept_errors 指令。

具体操作:
server {
    ......

    proxy_intercept_errors on;
    
    error_page 404 = @test_server;

    location @test_server {
        include proxy.conf;
        proxy_pass https://dianlut_old_server;
   }
}

注:如果你要进行多次转发的还可以考虑下这个参数  recursive_error_pages on;

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Nginx额外篇之一些错误解决办法 的相关文章

随机推荐

  • Smali文件详解

    往期推荐 Java层逆向 Dalvik指令集 Java层逆向分析 Dalvik字节码 修改资源去广告 修改包名实现分身 篡改Apk名称 图标 Smali是Dalvik VM内部执行的核心代码 是Dalvik自己的语法规范 在反编译出的代码中
  • PyCharm 中选中一个变量/函数后,所有用到这个变量/函数的地方高亮显示,改配色方案

    由于 PyCharm 原来的配色方案里面 选中一个变量 函数后 所有用到这个变量 函数的地方高亮显示得实在太不明显了 有的时候阅读别人的代码 找得眼睛都要瞎了 所以要改成高亮 找了好久才找到 所以在博客里记录一下 希望对大家有帮助 当然也是
  • windows 获取已插入U盘

    static int GetUdisk vector
  • HDOJ 1052 Tian Ji -- The Horse Racing

    Tian Ji The Horse Racing Time Limit 2000 1000 MS Java Others Memory Limit 65536 32768 K Java Others Total Submission s 2
  • Java自定义注解参数ElementType.PARAMETER

    1 创建自定义参数注解 import org springframework core annotation AliasFor import java lang annotation Target ElementType PARAMETER
  • python对字符串使用min和max

    今天日常刷题 看到了一个最长公共前缀比较高级的解法 题目如下 在评论区看到一个比较聪明的解法 class solution def st strs if not strs return str1 min strs str2 max strs
  • nacos频繁挂

    背景 公司使用的nacos 频繁挂 查看日志发现 Java HotSpot TM 64 Bit Server VM 25 144 b01 for linux amd64 JRE 1 8 0 144 b01 built on Jul 21 2
  • word2vec词向量训练及中文文本相似度计算

    本文是讲述如何使用word2vec的基础教程 文章比较基础 希望对你有所帮助 官网C语言下载地址 http word2vec googlecode com svn trunk 官网Python下载地址 http radimrehurek c
  • matlab armax 预测,MATLAB中ARMA模型预测差分问题

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 这是我MATLAB预测风速的程序 程序不是我自己写的 我也是拿来参考自己的毕业作业的 每条程序旁的中文是我自己的理解 我也不知道对不对 程序1 X load C Users asus Deskt
  • 华为OD机试 - 计算礼品发放的最小分组数目(Java)

    题目描述 又到了一年的末尾 项目组让小明负责新年晚会的小礼品发放工作 为使得参加晚会的同事所获得的小礼品价值相对平衡 需要把小礼品根据价格进行分组 但每组最多只能包括两件小礼品 并且每个分组的价格总和不能超过一个价格上限 为了保证发放小礼品
  • vue 和 js 获取 dom节点下的某个元素,然后设置样式

    vue获取dom节点下的类名 然后修改样式 div div class a 提到岁月 你们总说它是长河 流得头也不回 div div class a 少不更事的年纪 我也用过老成口气 念过孔夫子的 逝者如斯乎 不舍昼夜 div div cl
  • 手写数字识别——算法

    识别方法一 基于结构模式 脱机识别 例子 基于基元和七段式数字的手写数字识别 日常生活中经常可以看到用七段式数字表示数字 如电子手表的数字显示等 它用火柴棍拼图的方式能够简单有效的表示出0 9 10个阿拉伯数字 例子 基于三次样条和整体特征
  • css img自适应盒子尺寸

    首先保证图片可以填满 然后纵向居中 img cantainer position relative width 260px height 150px overflow hidden img position absolute top 50
  • 最详细的Java入门完整教程,学Java先收藏了!

    从 1995 年第一个版本发布到现在 Java 语言已经在跌宕起伏中走过了 26 年 最新的 Java 版本也已经迭代到 Java 16 java是有一个庞大的生态系统 它的覆盖范围非常广 而且已经连续十几年位居开发语言的榜首 所以java
  • 浅度学习模块化与解耦

    目录 1 为什么要模块化 2 模块设计原则 3 模块化开发的的优缺点 4 解耦与通信 4 1 公共模块的下层 4 2 面向接口调用 4 3 面向协议的调用 在开篇之前引用一句话 一派是说app开发并不需要什么狗P架构 第二派说我们有自己NB
  • 圈圈教你玩转USB第三版 光盘资料

    下载官网 http service buaapress com cn mzs file detail id 2199 key b2fec916cc9fa216abe6fc836e3f7e35
  • Swift中的‘open‘关键字是什么?

    本文翻译自 What is the open keyword in Swift The ObjectiveC swift file from the standard library contains the following few l
  • C语言基础代码(1)

    C语言是计算机及其相关专业学生必修的语言 我在大一下学期就已经学习了 前段时间 我又将谭浩强编写的C程序设计 也就是我C语言学习的课本看了一遍 温故而知新 受益良多 于是就萌发了一个想法 想将C语言学习当中一些基础的代码做一个总结归纳 在总
  • 牛客专项练习之设计模式

    开头先一句水平有限 仅供参考 有错误可以提醒我改一下 感谢 1 如果需要一个语言解释执行 并且可以将语言中的句子表示为一个抽象语法树的时候 对效率要求不高的情况下 应该选择何种设计模式 题目中的解释二字就告知选项 解释器模式 给定语言 定义
  • Nginx额外篇之一些错误解决办法

    错误1 配置了Nginx 但是打开页面是乱码 解决办法如下 在你个人的sever端添加如下2行 default type text html 设置内容输出内容型为 html htm shtml 三种类型 charset utf 8 设置字符