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'
; 这样浏览器就知道我们使用的是哪种编码了,如下图:
或者把add_header这行换成 charset utf-8
; 也是可以的
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
nginx返回json或者文本格式的方法
用nginx怎么返回json格式或者文本格式的数据?其实很简单,如下代码: 1.返回文本格式 location ~ ^/get_text { default_type text/html; return 200 'hello world!'; } 2.返回json格式 location ~ ^/get_json { default_type application/json; return 200 '{"status":"success","result&
-
nginx中用JSON格式记录日志的配置示例
nginx的日志配置可以参见<nginx日志配置指令详解>一文.如果要想以json格式记录nginx日志以便logstash分析,该如何指定日志格式呢?可以按照下面的格式来实现. 定义nginx日志格式: 复制代码 代码如下: log_format logstash_json '{ "@timestamp": "$time_local", ' '"@fields": { '
-
Nginx直接返回Json的实例
如下所示: server { listen 80; server_name www.abc.com; large_client_header_buffers 4 16k; client_max_body_size 300m; client_body_buffer_size 128k; proxy_connect_timeout 600; proxy_read_timeout 600; proxy_send_timeout 600; proxy_buffer_size 64k; proxy_buf
-
Nginx 日志改成 JSON 格式的方法
Nginx 日志默认为普通文本的格式,例如,下面是 Nginx 的一行访问日志: 10.88.122.105 - - [02/Dec/2017:09:15:04 +0800] "GET /js/pagination.js HTTP/1.1" 304 0 "http://10.88.105.20:8063/stockrecommand.html" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW6
-
nginx配置返回文本或json的方法
有些时候请求某些接口的时候需要返回指定的文本字符串或者json字符串,如果逻辑非常简单或者干脆是固定的字符串,那么可以使用nginx快速实现,这样就不用编写程序响应请求了,可以减少服务器资源占用并且响应性能非常快 先看返回固定的文本和json,都是在server中配置location拦截即可,配置示例如下: 固定文本: location ~ ^/get_text { default_type text/html; return 200 'This is text!'; } 固定json: loc
-
修改Nginx配置返回指定content-type的方法
目录 一.我们遇到了什么问题? 二.解决方法 总结 一.我们遇到了什么问题? 今天前端的同学向我请教了一个Nginx服务配置的问题.我作为组里的底层开发,当然是对此类问题还是有信心的.因为我私下里对Nginx也是学习了一点,再不济通过丰富的google经验,解决此类配置问题也是不在话下的O(∩_∩)O.但是问题并没有我想象的那么简单,花费了我不少时间( ╯□╰ ).不多废话了,直接上需求. Nginx配置中一般根据conf/mime.types文件中配置来根据文件扩展名(文件扩展名对大小写不敏感
-
Node.JS段点续传:Nginx配置文件分段下载功能的实现方法
Html5 提供了一个新的 Range 标签来实现文件的分段下载.在Node.JS中可以配置这个标签来实现文件的分段下载. Header标签 请求 Request Header: 下载 3744 以后的文件内容 range: bytes=3744- 返回 Response Header: 文件总长 15522643 个字节 accept-ranges': 'bytes' content-range': 'bytes */15522643' Nginx配置 首先要配置Nginx支持range标签返
-
Springboot配置返回日期格式化五种方法详解
目录 格式化全局时间字段 1.前端时间格式化(不做无情人) 2.SimpleDateFormat格式化(不推荐) 3.DateTimeFormatter格式化(不推荐) 4.全局时间格式化(推荐) 实现原理分析 5.部分时间格式化(推荐) 总结 应急就这样 格式化全局时间字段 在yml中添加如下配置: spring.jackson.date-format=yyyy-MM-dd HH:mm:ss 或者 spring: jackson: ## 格式为yyyy-MM-dd HH:mm:ss date-
-
nginx 配置跨域失效修复的方法示例
nginx 配置跨域不生效 如下配置 server { listen 80; server_name localhost; # 接口转发 location /api/ { # 允许请求地址跨域 * 做为通配符 add_header 'Access-Control-Allow-Origin' '*'; # 设置请求方法跨域 add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, PUT, DELETE'; # 设置是否允许 co
-
Nginx配置多个HTTPS域名的方法
最近在玩微信小程序,手头有: 一台云服务器:CentOS 7 多个一级域名 开发测试过程中,因为某些原因,想要让手头的A.B域名同时指向云服务器的443端口,支持HTTPS. Nginx支持TLS协议的SNI扩展(同一个IP上可以支持多个不同证书的域名),只需要重新安装Nginx,使其支持TLS即可. 安装Nginx [root]# wget http://nginx.org/download/nginx-1.12.0.tar.gz [root]# tar zxvf nginx-1.12.0.t
-
Nginx配置SSL自签名证书的方法
生成自签名SSL证书 生成RSA密钥(过程需要设置一个密码,记住这个密码) $ openssl genrsa -des3 -out domain.key 1024 拷贝一个不需要输入密码的密钥文件 $ openssl rsa -in domain.key -out domain_nopass.key 生成一个证书请求 $ openssl req -new -key domain.key -out domain.csr 这里会提示输入国家,地区组织,email等信息.最重要的一个是"common
-
nginx配置伪静态和适配客户端的方法步骤
后端用的thinkphp3.2.3框架,如果您是其他的语言或者,注意适当修改下 server { listen 80; server_name www.morgen.club; #charset koi8-r; #access_log logs/host.access.log main; 网站根目录 location / { root html; index index.html index.htm; #设置访问设备 set $source_device 'index'; #判断为手机客户端或i
-
Nginx 运维之域名验证的方法示例
各公众平台在配置接口域名时会验证开发者对域名的配置权, 生成随机的文本及字符串,让放置在域名根目录可以通过域名直接访问到即通过验证. 示例为验证域名 abc.com 可以通过根路由访问 6CysNYj8Hb.txt 响应体为字符串 01df2ddab4774ba2676a5563ccb79ffa. $ curl https://abc.com/6CysNYj8Hb.txt 01df2ddab4774ba2676a5563ccb79ffa 方案一 配置有 root 的 server,直接把随机文档
-
如何将 Nginx 配置为Web服务器的方法
阅读之前,建议先阅读初识 Nginx. 之后,我们来了解一下 Nginx 配置. 抽象来说,将 Nginx 配置为 Web 服务器就是定义处理哪些 URLS 和如何处理这些URLS 对应的请求.具体来说,就是定义一些虚拟服务器(Virtual Servers),控制具有特定 IP 和域名的请求. 更具体的来说, Nginx 通过定义一系列 locations 来控制对 URIS 的选择.每一个 location 定义了对映射到自己的请求的处理场景:返回一个文件或者代理请求,或者根据不同的错误代码
随机推荐
- 关于Ajax中通过response在后台传递数据问题
- SQLite中的WAL机制详细介绍
- AngularJS基础 ng-mousemove 指令简单示例
- 层序遍历在ExtJs的TreePanel中的应用
- Linux下把tomcat日志按日期自动分割
- 使用BAT一句话命令实现快速合并JS、CSS
- c++中new和delete操作符用法
- java回调机制实例详解
- javascript 哈希表(hashtable)的简单实现
- 用标准c++实现string与各种类型之间的转换
- ES6学习之变量的两种命名方法示例
- Yii2创建控制器(createController)方法详解
- Symfony核心类概述
- 利用Python自动监控网站并发送邮件告警的方法
- 基于switch你可能不知道的一些用法
- 原生js中ajax访问的实例详解
- JavaScript实现输入框与清空按钮联动效果
- 使用php发送有附件的电子邮件-(PHPMailer使用的实例分析)
- flag和jq on 的绑定多个对象和方法(必看)
- 简单实现jQuery多选框功能