nginx配置返回文本或json

有些时候请求某些接口的时候需要返回指定的文本字符串或者json字符串,如果逻辑非常简单或者干脆是固定的字符串,那么可以使用nginx快速实现,这样就不用编写程序响应请求了,可以减少服务器资源占用并且响应性能非常快

先看返回固定的文本和json,都是在server中配置location拦截即可,配置示例如下:

固定文本:

location ~ ^/get_text {
    default_type text/html;
    return 200 'This is text!';
}

固定json:

location ~ ^/get_json {
    default_type application/json;
    return 200 '{"status":"success","result":"nginx json"}';
}

保存后重新载入配置即可生效,注意:default_type必须要添加,否则浏览器会当成不识别的文件进行下载

另外也可以简单的根据请求的URL返回不同的字符串,示例如下:

location ~ ^/get_text/article/(.*)_(\d+).html$ {
    default_type text/html;
    set $s $1;
    set $d $2;
    return 200 str:$s$d;
}

这样可以简单截取url中的字符串,当然也可以用(.*)匹配所有的,实际中根据不同需求定义即可

上面的就是一些简单的案例,在服务器环境中对于简单的处理,充分使用nginx可以省去一些编程工作

另外补充一下中文显示的问题,因为Linux下采用的是utf-8的字符编码,默认情况下我们的浏览器在服务器没有指定编码或者静态页面没有声明编码的情况下会以GBK的编码去渲染页面,这样默认情况下返回中文的话浏览器用gbk来解析utf-8编码,显然会出现乱码,这时要在nginx location块中主动添加header来输出正确编码,添加内容为: add_header Content-Type ‘text/html; charset=utf-8’; 这样浏览器就知道我们使用的是哪种编码了,如下图:

nginx配置返回文本或json

或者把add_header这行换成 charset utf-8; 也是可以的

Original: https://www.cnblogs.com/shijiaoyun/p/12029635.html
Author: 何石-博客
Title: nginx配置返回文本或json

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/543717/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 1.Spring Boot 的认识

    以前开发我们都是使用springMVC去开发,但是现在我们全部已经使用springboot了,因为它很方便,我也是便于从头梳理一下springboot,让自己更加深入了结sprin…

    Java 2023年6月9日
    068
  • 图解:HTTP 范围请求,助力断点续传、多线程下载的核心原理

    题图:by Charles Loyer 一、序 Hi,大家好,我是承香墨影! HTTP 协议在网络知识中占据了重要的地位,HTTP 协议最基础的就是请求和响应的报文,而报文又是由报…

    Java 2023年5月30日
    071
  • 机器学习实战-决策树

    1.决策树的构造 1.1优缺点 优点: 计算复杂度不高:以ID3为例,每次运算都是基于某一列特征,特征计算完后,下次计算不考虑该最有特征,并且通过适当剪枝可以简化复杂度 输出结果易…

    Java 2023年6月14日
    086
  • 高可用架构(下)

    上次说到了理论,接口层面,数据库层面如何实现高可用,但是,这远远是不够得。为了面对更大的灾害,如:洪水,地震等,还要在机房层面做出高可用。当然,也不仅仅是为了面对自然灾害,也可以是…

    Java 2023年6月15日
    073
  • Dependencies与DepencyManagement的区别

    在maven的项目中经常遇到dependencies与dependencyManagement。那么两者有什么区别和联系呢? DepencyManagement的应用场景 主要应用…

    Java 2023年6月7日
    082
  • SQL子查询:介绍及分类

    子查询指一个查询语句 嵌套在另一个查询语句内部的查询。 例如:挑选出 员工工资表中, 工资金额比”张三”高的 员工姓名及 工资:d SELECT &…

    Java 2023年6月9日
    078
  • java网络编程

    网络编程 TCP 编程 使用tcp 之前先建立TCP连接,形成传输数据的通道,点对点的通信是可靠的。2,两个进程:客户端 服务端3,在连接中进行大量数据的传输4,传输完毕需要释放建…

    Java 2023年6月8日
    085
  • IDEA使用springboot+mybatis实现增删改查(CRUD)功能

    创建springboot项目 File –> New –>Projiect next后选择下面这几个本次需要用到的依赖 项目创建完毕,pom文件…

    Java 2023年6月7日
    0107
  • 【每天学一点-05】使用umi.js代理,解决跨域问题(前端)

    一、user.ts 前端请求接口 import request from ‘umi-request’; const getAway = ‘/user’; // 获取用户列表 exp…

    Java 2023年6月5日
    061
  • vmware 创建虚拟机

    使用vmware workstation 16 创建虚拟机 安装window2008 server 如果出现 VMware Workstation– “与 …

    Java 2023年5月30日
    078
  • 操作无权限的MSMQ队列

    首先,我们重现一个这样的”死”队列。在消息队列的管理器中新建一个队列(私有或公有均可),命名为test。右键单击该队列,选择Properties,然后进入S…

    Java 2023年5月30日
    070
  • Spring Cloud体系实现标签路由

    如果你正在使用Spring Cloud体系,在实际使用过程中正遇到以下问题,可以阅读本文章的内容作为后续你解决这些问题的参考,文章内容不保证无错,请务必仔细思考之后再进行实践。 问…

    Java 2023年6月14日
    087
  • Spring 注解学习 使用示例

    学习 Sping注解,编写示例,最终整理成文章。如有错误,请指出。该文章主要是针对新手的简单使用示例,讲述如何使用该注释,没有过多的原理解析。已整理的注解请看右侧目录。写的示例代码…

    Java 2023年6月9日
    079
  • WebBrowser隐藏后自动销毁的BUG以及解决办法

    程序主界面上有个浏览器控件,里面是google地图,需要点击一个按钮后隐藏浏览器控件,显示其他界面,而且要做到还可以切换到原来的地图上。 一开始只是在浏览器上覆盖了一个图片控件,没…

    Java 2023年5月29日
    078
  • 《Thinking In Java》作者:不要使用并发!

    前言 今天纯粹就是带你们来读读书的~最近除了工作,特地买回了自己很喜欢的作者新发售的一本书《On Java》,作者是我的老朋友布鲁斯·埃克尔,在Java领域很有名,你可能没听过他的…

    Java 2023年6月9日
    077
  • Java异常机制

    什么是异常 实际工作中,遇到的情况不可能是非常完美的。比如:你写的某个模块,用户输入不一定符合你的要求;你的程序要打开某个文件,这个文件可能不存在或者文件格式不对;你要读取数据库的…

    Java 2023年6月5日
    088
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球