/usr/local/src/nginx-1.9.5' test -d '/usr/local/nginx' || mkdir -p '/usr/local/nginx' test -d '/usr/local -f '/usr/local/nginx/sbin/nginx' || mv '/usr/local/nginx/sbin/nginx' '/usr/local/nginx/sbin/nginx.old ' cp objs/nginx '/usr/local/nginx/sbin/nginx' test -d '/usr/local/nginx/conf' || mkdir -p '/usr/local ' test -f '/usr/local/nginx/conf/nginx.conf' || cp conf/nginx.conf '/usr/local/nginx/conf/nginx.conf ' cp conf/nginx.conf '/usr/local/nginx/conf/nginx.conf.default' test -d '/usr/local/nginx/logs' ||
(zip|rar|sql|bak|gz|7z)$ { return 444; } #访问链接里含有 test 直接跳转到公安网 if ($request_uri ~* test=) { return
安装所需环境 Nginx 是 C语言 开发,建议在 Linux 上运行,当然,也可以安装 Windows 版本,本篇则使用 CentOS 7 作为安装环境。 OpenSSL 安装 OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。 nginx 启动、停止nginx cd /usr/local/nginx/sbin/ . /nginx ./nginx -s stop ./nginx -s quit . 查询nginx进程: ps aux|grep nginx 重启 nginx 1.先停止再启动(推荐): 对 nginx 进行重启相当于先停止再启动,即先执行停止命令再执行启动命令。如下: .
CentOS 7 安装 Nginx 前言 Linux 的两种安装方式 yum 安装 1. 安装 Nginx 2. 配置 Nginx 服务 源码包安装 依赖库安装 1. 安装 gcc 环境 2. $ sudo yum -y install nginx # 安装 nginx $ sudo yum remove nginx # 卸载 nginx 使用 yum 进行 Nginx 安装时,Nginx nginx stop # 停止 nginx 服务 $ sudo service nginx restart # 重启 nginx 服务 $ sudo service nginx reload # 重新加载配置 安装 openssl # 安全套接字层密码库,用于通信加密 $ sudo yum -y install openssl openssl-devel 以上安装完成后,进行 nginx 安装。 启动服务 $ /usr/local/nginx/sbin/nginx 重新加载服务 $ /usr/local/nginx/sbin/nginx -s reload 停止服务 $ /usr/local/nginx
/nginx # 关闭命令 在/usr/local/nginx/sbin目录下执行 ./nginx -s stop # 重新加载命令 在/usr/local/nginx/sbin目录下执行 . whereis nginx 启动重启停止 # 直接执行 配置文件在 /etc/nginx/nginx.conf nginx # 重启 nginx -s reload # 停止 nginx -s stop 测试 # 测试 nginx 是否正常 nginx -t 20210225154650.png 查看进程 ps -ef | grep nginx 20210225154830.png 三、Nginx 配置详解 以下 nginx.conf 仅供学习参考,请勿直接替换原有的配置,会导致 nginx 无法启动 #安全问题,建议用nobody,不要用root. #5)200:服务状态,200表示正常,常见的还有,301永久重定向、4XX表示请求出错、5XX服务器内部错误 #6)5209:传送字节数为5209,单位为byte #7)
centos7 安装 Nginx、使用 nginx 记录 1、安装各种依赖 #gcc安装,nginx源码编译需要 yum install gcc-c++ #PCRE pcre-devel 安装,nginx -y zlib zlib-devel #OpenSSL 安装,强大的安全套接字层密码库,nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http) yum install usr/local/nginx 6)启动、停止 nginx cd /usr/local/nginx/sbin/ . /nginx -s reload #重新加载配置文件,修改nginx.conf后使用该命令,新配置即可生效 7)重启 nginx,建议先停止,再启动 ./nginx -s stop . /nginx -s reload via: centos7安装Nginx、使用nginx记录 - 夜的隐为者 - OSCHINA - 中文开源技术交流社区 https://my.oschina.net/
Nginx后端服务指定的Header隐藏状态 | 服务配置 描述 隐藏Nginx后端服务X-Powered-By头 加固建议 隐藏Nginx后端服务指定Header的状态: 1、打开conf/nginx.conf | 身份鉴别 描述 1.执行系统命令passwd -S nginx来查看锁定状态 出现Password locked证明锁定成功 如:nginx LK … (Password locked.)或nginx L … 2.默认符合,修改后才有(默认已符合) 3.执行系统命令passwd -l nginx进行锁定 加固建议 配置Nginx账号登录锁定策略: 1、Nginx服务建议使用非root用户( 2、可执行passwd -l <Nginx启动用户> 如passwd -l nginx 来锁定Nginx服务的启动用户。 3. 或者/etc/nginx/nginx.conf,或用户自定义,请 自行查找) 操作时建议做好记录或备份 针对Nginx SSL协议进行安全加固 | 服务配置 描述 Nginx SSL协议的加密策略进行加固
7、主主: 客户端任写其一,主主互相同步,不做状态和切换。缺点是主键和数据冲突,如用户id商品库存等无法这么做。 其他概念 降级: 指服务内部处理方案,如关闭注册、看帖不能发帖、应用日志接口。 问题引入 当我们使用一个 Nginx 来为一个 Tomcat 集群做负载均衡时,突然间,这个 Nginx 服务器宕机了,该怎么办!!!此时,我们所有的访问均无法正常到达相应的服务器。 使用 keepalived 配置主备模式的高可用 Nginx 集群 为了防止某一台 linux 服务器宕机,我们需要在两台服务器上都进行 Nginx 和 keepalived 的安装。 /bin/bash A=`ps -C nginx –no-header |wc -l` if [ $A -eq 0 ];then /usr/local/nginx/sbin/nginx Nginx 和 keepalived # 启动 Nginx cd /usr/local/nginx/sbin .
nginx的安全配置 Nginx_auth_basic_module 简单认证 用"http basic authentication(简单的认证)"来限制用户的访问 一般的用法 location / { auth_basic string; auth_basic_user_file /etc/nginx/conf.d/htpasswd; } Syntax: auth_basic string
之前写了一些nginx的东西,这次继续,主要使用upstream针对proxy_pass转发做个处理 一般情况下我们在使用nginx反向代理的时候,都是如下配置, ... location /api 如果我们可以反向代理,如果别人也知道了我们的接口域名也不是可以自己搭一个nginx服务器就可以代理到我们的接口服务器上去???是不是感觉很危险,是的。。。 详细的配置内容还是建议大家参考Nginx upstream官方文档。 此外,除了安全性方面,使用内网ip进行接口转发也省去了转发中的DNS重新解析的过程,有利于大幅提升接口转发效率。 综上,在proxy_pass转发中我们使用了两种方案来对安全性做一些提升 proxy_pass转发到外网域名,同时在接口服务器上添加访问来源白名单,把nginx服务器的ip写进去 proxy_pass转发到内网域名 这样在安全和效率高上就都能得到一定的提升。 如有错误,欢迎大家指正 好好学习,天天向上~~
nginx发展多年,自身的安全漏洞比较少,发现软件漏洞,一般利用软件包管理器升级一下就好了。 本文侧重讲述的不是nginx自身的安全,而是利用nginx来加固web应用,干一些应用防火墙(WAF)干的活。 在做安全加固的时候,我们一定要头脑清晰,手里拿着刀,一刀一刀的切,将我们不想要的流量干掉,除去隐患。 host permanent; } if ($query_string ~* "concat.*\(") { rewrite ^/(.*)$ $host permanent; } 7、 10、目录只读 如果没有上传需求,完全可以把网站根目录弄成只读的,加固安全。 做了一点小动作,给网站根目录搞了一个只读的挂载点。
安全无小事,安全防范从nginx配置做起。 隐藏版本号http { server_tokens off;}经常会有针对某个版本的nginx安全漏洞出现,隐藏nginx版本号就成了主要的安全优化手段之一,当然最重要的是及时升级修复漏洞。 MD5;}ssl on:开启https;ssl_certificate:配置nginx ssl证书的路径ssl_certificate_key:配置nginx ssl证书key的路径ssl_protocols : 指定客户端建立连接时使用的ssl协议版本,如果不需要兼容TSLv1,直接去掉即可ssl_ciphers: 指定客户端连接时所使用的加密算法,你可以再这里配置更高安全的算法;添加黑白名单白名单配置location MIME-sniffing来猜测资源的响应类型,这是非常危险的例如一个.jpg的图片文件被恶意嵌入了可执行的js代码,在开启资源类型猜测的情况下,浏览器将执行嵌入的js代码,可能会有意想不到的后果另外还有几个关于请求头的安全配置需要注意
: /etc/nginx/nginx.conf pidfile: /run/nginx/nginx.pid Source function library. . /nginx" prog=$(basename $nginx) NGINX_CONF_FILE="/etc/nginx/nginx.conf" lockfile=/var/lock/nginx.lock $1 ;; restart|configtest) $1 ;; reload) rh_status_q || exit 7 中编译时设置的那些目录: config: /etc/nginx/nginx.conf pidfile: /run/nginx/nginx.pid nginx="/usr/sbin/nginx" NGINX_CONF_FILE="/etc/nginx/nginx.conf" lockfile=/var/lock/nginx.lock
安装所需环境 本文使用 CentOS 7 作为安装环境。 一. gcc 安装 先将官网下载的nginx源码进行编译,编译依赖 gcc 环境 yum install gcc-c++ 二. OpenSSL 安装 在计算机网络上,OpenSSL是一个开放源代码的软件库包,应用程序可以使用这个包来进行安全通信,避免窃听,同时确认另一端连接者的身份。这个包广泛被应用在互联网的网页服务器上。 /nginx ./nginx -s stop ./nginx -s quit ./nginx -s reload ./nginx -s quit:待nginx进程处理任务完毕进行停止。 . /nginx -s stop:相当于先查出nginx进程id再使用kill命令强制杀掉进程。 查询nginx进程: ps aux|grep nginx 重启 nginx 1.先停止再启动(推荐): . /nginx 2.重新加载配置文件: 当 nginx 的配置文件修改后,想让配置生效,需要重启 nginx,使用-s reload不用先停止 nginx 再启动即可将配置信息在 nginx 中生效,如下
centos7安装 nginx 一、安装所需插件 1、安装 gcc gcc是linux下的编译器,它可以编译 C,C++,Ada,Object C和Java等语言。 yum install -y zlib zlib-devel 4、安装openssl openssl是web安全通信的基石。 yum install -y openssl openssl-devel 二、安装nginx 1、下载nginx安装包 wget http://nginx.org/download/nginx-1.20.2 /sbin/nginx 7、查看nginx服务是否启动成功 ps -ef | grep nginx 8、防火墙放行tcp80端口 firewall-cmd --add-port=80/tcp firewall-cmd Nginx 常用的几个命令: nginx -s reload # 重新载入配置文件 nginx -s reopen # 重启 Nginx nginx -s stop
yum install -y zlib zlib-devel 4.OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用 yum install -y openssl openssl-devel 下载nginx 到一个自己创建到文件夹中 随意 下载 wget https://nginx.org/download/nginx :/opt/software/nginx/sbin' > /etc/profile.d/nginx.sh 环境变量生效 source /etc/profile 查看安装路径 whereis nginx /nginx 查看进程 ps aux|grep nginx 重启 先停止再启动(推荐): ./nginx -s quit . /nginx 有很多时候只改配置 不用重启了就 当 ngin x的配置文件 nginx.conf 修改后,要想让配置生效需要重启 nginx,即可将配置信息在 nginx 中生效,如下: .
1,下载 [root@VM_0_7_centos local]# wget http://nginx.org/download/nginx-1.14.2.tar.gz --2018-12-13 11:14 3,设置 [root@VM_0_7_centos local]# cd nginx-1.14.2/ [root@VM_0_7_centos nginx-1.14.2]# ll total 752 drwxr-xr-x centos nginx-1.14.2]# pwd /usr/local/nginx-1.14.2 [root@VM_0_7_centos nginx-1.14.2]# cd .. centos local]# mkdir nginx -p [root@VM_0_7_centos local]# cd nginx-1.14.2/ [root@VM_0_7_centos nginx- /nginx-1.14.2 [root@VM_0_7_centos nginx-1.14.2]# cd ..
yum install -y zlib zlib-devel 4.安装openssl openssl是一个安全套接字层密码库,nginx要支持https,需要使用openssl。 tar -zxvf nginx-1.9.9.tar.gz 7.cd到文件路径 8.编译 . =/var/log/nginx/error.log --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock --user 存储库 要添加CentOS 7 EPEL仓库,请打开终端并使用以下命令: sudo yum install epel-release 2.安装Nginx 现在Nginx存储库已经安装在您的服务器上,使用以下 3.启动Nginx Nginx不会自行启动。
安装 nginx 当前nginx的Stable version是1.8.0, Mainline version是1.9.9, 这里安装了1.9.9 下载的所有包都放在了/usr/local/src/ http://nginx.org/download/nginx-1.9.9.tar.gz 编译安装 先把编译器安装一下 yum install gcc gcc-c++ zlib pcre openssl 很简单,不用配置参数了, nginx我的编译参数是 . pcre-8.38 \ –with-zlib=/usr/local/src/zlib-1.2.8 \ –with-openssl=/usr/local/src/openssl-1.0.1j 安装 php7 PHP 7.0.0 Released也于2015年12月3日发布了, 反正也是自己的服务器用,不像企业级的要求那么高,就直接安装7了。
nginx官网下载地址为:http://nginx.org/en/download.html 2.消除目录浏览漏洞:nginx默认不允许目录浏览,请检查目录浏览的相关配置,确保没有目录浏览漏洞:检查各个配置文件 autoindex off 3.开启访问日志:开启日志有助于在发生安全事件后回溯分析事件的原因和定位攻击者。默认情况下,nginx已经开启日志访问功能。 access_log /backup/nginx_logs/access.log combined; 4.目录安全配置:nginx应该严格保证用户上传文件的目录没有执行脚本的权限,如取消upload (php|php5)$ { deny all; } 5.管理目录安全配置:对于管理目录,需要做到只允许合法ip可以访问,nginx限制白名单ip访问的配置日下: location ~ ^ Nginx存在默认目录: ? 删除如下配置信息。