Home avatar

个人知识星球,专注于Python/Java/AI技术

Nginx获取客户端真实IP地址

一般的应用都是通过Nginx来做为反向代理,并且Nginx还可能是多层的。如果想在内部服务里面获取最原始的客户端IP地址。 则需要做一些配置。

最外层Nginx

为了防止X-Forwarded-For头的伪造,可在最外层Nginx将X-Forwarded-For设置为真实IP $remote_addr$remote_addr是获取的是直接TCP连接的客户端IP(类似于Java中的request.getRemoteAddr()), 这个是无法伪造的,即使客户端伪造也会被覆盖掉,而不是追加。

Nginx重新编译添加模块

编译安装Nginx的时候,有些模块默认并不会安装,比如http_ssl_module,那么为了让Nginx支持HTTPS,必须添加这个模块。

下面讲解如何在已经安装过后再次添加新的模块。

1、找到安装nginx的源码根目录(即安装包存放目录),如果没有的话下载新的源码并解压

Nginx重新编译添加模块

编译安装Nginx的时候,有些模块默认并不会安装,比如http_ssl_module,那么为了让Nginx支持HTTPS,必须添加这个模块。

下面讲解如何在已经安装过后再次添加新的模块。

1、找到安装nginx的源码根目录(即安装包存放目录),如果没有的话下载新的源码并解压

Nginx反向代理WebSocket

WebSocket协议相比较于HTTP协议成功握手后可以多次进行通讯,直到连接被关闭。但是WebSocket中的握手和HTTP中的握手兼容, 它使用HTTP中的Upgrade协议头将连接从HTTP升级到WebSocket。这使得WebSocket程序可以更容易的使用现已存在的基础设施。

CentOS7搭建postfix邮件服务器

电子邮件系统是我们在日常工作、生活中最常用的一个网络服务。本章将首先介绍电子邮件系统的起源, 然后介绍SMTP、POP3、IMAP4等常见的电子邮件协议, 然后介绍如何在CentOS7中使用Postfix和Dovecot服务程序配置电子邮件系统服务的方法。 并结合BIND服务程序提供的DNS域名解析服务来验证客户端主机与服务器之间的邮件收发功能。

CentOS7通过samba共享文件夹

Samba是在Linux系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。 SMB(Server Messages Block, 信息服务块)是一种在局域网上共享文件和打印机的一种通信协议, 它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。 SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统,打印机及其他资源。