tester-technology

Nginx入门

2018-05-16  本文已影响11人  testerzhang

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的请求头。

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;

配置完,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
上一篇下一篇

猜你喜欢

热点阅读