Nginx入门

作者: testerzhang | 来源:发表于2018-05-16 09:44 被阅读11次

1.root安装nginx需要依赖的库

yum install -y gcc gcc-c++ pcre-devel openssl-devel 

2.编译nginx

./configure --prefix=/opt/aiwm/nginx-1.12.2 \
--with-http_stub_status_module --with-http_ssl_module

make 
make install

3.Nginx做非80端口转发

要做转发,可以使用Nginx的proxy_pass配置项。

Nginx监听80端口,接收到请求之后就会转发到要转发的URL。

获取真实IP具体的配置如下:

server {
    server_name www.test.com
    listen 80;

    location / {
        proxy_pass http://127.0.0.1:8080;
    }
}

但是,当遇到需要获取真实IP的业务时,还需要添加关于真实IP的配置:

server {
    server_name www.test.com
    listen 80;

    #safe config
    #add_header X-Frame-Options DENY;
    #hidden nginx version
    server_tokens off;
    #forbidden attack IP
    #include blockip.conf;

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host:80;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

proxy_set_header这句配置是改变http的请求头。

  • Host是请求的主机名
  • X-Real-IP是请求的真实IP
  • X-Forwarded-For表示请求是由谁发起的。

4.启停命令

  • 启动命令
./nginx
  • 停止命令
./nginx  -s stop
  • 重新读取最新配置
./nginx  -s reload

5.安全加固-拦截恶意IP

取得IP之后通过nginx进行屏蔽原理:nginx配置中allow,deny ip来进行权限屏蔽。

可创建一个blockip.conf,将屏蔽的ip保存在里面,再引入。

allow 1.1.1.1; 
allow 1.1.1.2;
deny all;
  • 全站屏蔽:把include blockip.conf; 放到http {}语句块。
  • 单独站点屏蔽:把include blockip.conf; 放到网址对应的在server{}语句块。

配置完,reload一下nginx,让nginx重新读取最新配置。

6.检测常规配置是否有安全问题

尚未验证此python库检测是否有用

$ pip install gixy

$ gixy nginx.conf

==================== Results ===================
No issues found.

==================== Summary ===================
Total issues:
    Unspecified: 0
    Low: 0
    Medium: 0
    High: 0

相关文章

  • nginx平台初探

    nginx平台初探 nginx平台初探(100%) — Nginx开发从入门到精通

  • Nginx 入门到入门 (Mac)

    nginx 安装入门 Nginx 通过 Homebrew 安装 Nginx 配置路径信息 启动Nginx服务 成功...

  • 24*7*365 web 系统建设<一>——ngin

    参考资料1.Nginx - Windows下Nginx初入门2.nginx for Windows3.nginx+...

  • 【Nginx+Flume实现日志打点分析】

    安装nginx(略) 修改nginx.conf然后 nginx -s reload Flume入门 Flume官网...

  • nginx入门指南

    Nginx入门指南 一.Nginx概述: 1.什么是Nginx? Nginx(发音同engine x)是一个网页服...

  • 第二章 OpenResty(Nginx+Lua)开发入门

    Nginx入门 本文目的是学习Nginx+Lua开发,对于Nginx基本知识可以参考如下文章: nginx启动、关...

  • Nginx升级和回退

    此处演示nginx1.18.0升级到nginx1.19.2nginx1.18.0的安装,请参考nginx初步入门 ...

  • Nginx进阶一

    Nginx进阶一 Nginx的首页解析过程 在Nginx入门链接[https://www.yuque.com/u4...

  • Nginx

    Nginx 入门简述 工作原理及安装配置 常用命令管理及升级 入门简述 Nginx("engine x")是一个高...

  • nginx入门

    Nginx入门-在Linux上安装Nginx 介绍 简而言之,Nginx(发音为“engine x”)是一个小型、...

网友评论

    本文标题:Nginx入门

    本文链接:https://www.haomeiwen.com/subject/ddoudftx.html