1. 实现客户端IP地址获取接口

普通版本

Nginx 的配置文件中提供了一个变量 $remote_addr 用来获取用户访问本实例时的 IP 地址,我们只要将这个变量的值返回给用户就行了(没错,就是这么简单!):

location / {
default_type text/plain;
return 200 $remote_addr;
}

这里使用 default_type text/plain 来向浏览器表明我们返回的值是一个纯文本,从而能够被浏览器直接显示出来。

JSON 版本

同样依赖于 $remote_addr 这个变量,我们可以将返回值稍微修饰一下,实现一个返回 JSON 数据的 API:

location /json {
default_type application/json;
return 200 "{\"ip\":\"$remote_addr\"}";
}

配置文件中的 default_type application/json 向浏览器表明我们的返回的值是 JSON 数据。

nginx相关服务实践的更多相关文章

  1. Spring Boot 2 (五):Docker Compose + Spring Boot + Nginx + Mysql 实践

    Spring Boot 2 (五):Docker Compose + Spring Boot + Nginx + Mysql 实践 Spring Boot + Nginx + Mysql 是实际工作中 ...

  2. 使用Docker快速部署ELK分析Nginx日志实践(二)

    Kibana汉化使用中文界面实践 一.背景 笔者在上一篇文章使用Docker快速部署ELK分析Nginx日志实践当中有提到如何快速搭建ELK分析Nginx日志,但是这只是第一步,后面还有很多仪表盘需要 ...

  3. 使用Docker快速部署ELK分析Nginx日志实践

    原文:使用Docker快速部署ELK分析Nginx日志实践 一.背景 笔者所在项目组的项目由多个子项目所组成,每一个子项目都存在一定的日志,有时候想排查一些问题,需要到各个地方去查看,极为不方便,此前 ...

  4. linux上安装fastdfs+nginx+ngin-module实践并解决多个异常篇

    为什么选择Nginx Nginx 是一个很牛的高性能Web和反向代理服务器, 它具有有很多非常优越的特性: 在高连接并发的情况下,Nginx是Apache服务器不错的替代品:Nginx在美国是做虚拟主 ...

  5. 17、Nginx HTTPS 实践

    1.HTTPS安全证书基本概述 为什么需要使用HTTPS, 因为HTTP不安全.当我们使用http网站时,会遭到劫持和篡改,如果采用https协议,那么数据在传输过程中是加密的,所以黑客无法窃取或者篡 ...

  6. 前后端分离项目 nginx配置实践

    新项目采用前后端分离的方式开发,前后端代码打算分开部署(同机器且同域名),但打算支持后端依然可访问静态资源. 搜索nginx配置大部分都通过url前缀进行转发来做前后端分离,不适用目前项目. 说明 前 ...

  7. Spring Boot 2.0(五):Docker Compose + Spring Boot + Nginx + Mysql 实践

    我知道大家这段时间看了我写关于 docker 相关的几篇文章,不疼不痒的,仍然没有感受 docker 的便利,是的,我也是这样认为的,I know your felling . 前期了解概念什么的确实 ...

  8. (转)Spring Boot 2 (五):Docker Compose + Spring Boot + Nginx + Mysql 实践

    http://www.ityouknow.com/springboot/2018/03/28/dockercompose-springboot-mysql-nginx.html 我知道大家这段时间看了 ...

  9. nghttp2 和nginx的实践

    主要参考https://bg2bkk.github.io/post/HTTP2%E7%9A%84%E5%AE%9E%E8%B7%B5%E8%BF%87%E7%A8%8B/,和https://fangp ...

  10. docker学习实践之路[第二站]nginx镜像实践

    上一篇文章中已经成功的拉取的nginx的镜像 在本篇文章中则详细介绍docker利用文件卷.断后映射然后进行nginx的配置. 输入一下命令: docker run -d --name mynginx ...

随机推荐

  1. how to create rpm

    RPM Spec 中各个字段的 pre, post, preun, postun 的用法 https://www.golinuxhub.com/2018/05/how-to-execute-scrip ...

  2. 开发一个属性名提示友好的Vue组件

    这两天开发了一个组件,开发好之后想着先本地npm link 用一用试试,然后在vue3 项目中link了过来,发现VSCODE没有属性提示,鉴于考虑到一个好的组件应该是提示友好的,于是给组件准备加上属 ...

  3. Mongodb入门4

    今天学习一下MongoDB数据库的索引. 因为养的鱼生病了,所以抽空晚上学习记录一下. 这里借用一下菜鸟教程的原文: 索引通常能够极大的提高查询的效率,如果没有索引,MongoDB在读取数据时必须扫描 ...

  4. 【效果】使用canvas rotate实现一个旋转的矩形

    使用canvas rotate实现一个旋转的矩形,并且以矩形的中心为原点,围绕原点旋转: <canvas id="canvas" width="800" ...

  5. Angular 18+ 高级教程 – Component 组件 の Angular Component vs Web Component

    前言 在 初识 Angular 中我有提到, Angular 团队是一群不爱创新.爱 follow 标准.爱小题大做的一群人. 所以,要理解 Angular Component,我们就非得要先搞懂远古 ...

  6. Google sheet

    最近做比较多 data migration 的东西. 当我们开发一个新的系统去替代一个旧系统时,通常就需要做大量的 migration 动作. 有好几个做法 我之前比较常用的的工具是 sql 和 c# ...

  7. ASP.NET Core – Filter

    介绍 Filter 类似 Middleware,只是它集中在处理 request 的前后, 站 MVC 角度看就是 before 和 after action, 站 Razor Pages 角度就是 ...

  8. Java日期时间API系列25-----Jdk8中java.time包中的新的日期时间API类,使用MonthDay计算十二星座。

    通过Java日期时间API系列24-----Jdk8中java.time包中的新的日期时间API类,MonthDay类源码和应用,对比相同月日时间.对MonthDay简单做了说明和应用.十二星座是根据 ...

  9. iOS上架App Store使用小结

    1.安装iOS上架辅助软件Appuploader 2.申请iOS发布证书(p12) 3.申请iOS发布描述文件(mobileprovision) 4.打包ipa 5.上传ipa到iTunes Conn ...

  10. 77.const声明对象修改对象里面的值会触发报错吗

    不会,因为对象是复杂类型数据 :对象的地址保存在栈内存中,对象的数据保存在堆内存中 : 只要对象的地址不发生改变,无论堆内存的对象数据如何改变,对象的值就不会改变 :