真正的干货-使用Nginx的总结~很实用

作者 : 开心源码 本文共2486个字,预计阅读时间需要7分钟 发布时间: 2022-05-12 共141人阅读

1.地址重写:访问server_name的时候跳转到http://www.cnblogs.com/qinyujie/

修改nginx配置文件。加入到server{…}字段或者者location字段里面:使用rewrite301跳转到指定的地址。

listen 80;

server_name www.qinyujie.com;

rewrite ^/(.*)$ http://www.cnblogs.com/qinyujie/$1 last;

2.企业安全,nginx禁止使用ip访问:

修改nginx配置文件:

http:{…}中加入如下字段:

server {

listen 80 default;

return 500;

}

3.nginx配置反向代理商

location / {

proxy_set_header Host $host; #修改发送到后台的header的host

proxy_set_header X-Real-Ip $remote_addr; #设置真实ip

proxy_set_header X-Forwarded-For $remote_addr;

proxy_pass http://192.168.0.162:80; #后台ip地址

}

4.nginx的http负载均衡板块:在http:{…}字段中配置;'

upstream linuxidc { #定义负载均衡设施的Ip及设施状态

ip_hash; #session会话保持

server xxxx:7080 down;

server xxxx:8980 weight=7;

server xxxx:9999 backup;

}

在location / {…}中加入“‘ proxy_pass http://linuxidc; ’”就可。

ip_hash(访问ip)

每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后台服务器,可以处理session的问题。

upstream还可以为每个设施设置状态值,这些状态值的含义分别如下:

down 表示单前的server暂时不参加负载.

weight 默认为1.weight越大,负载的权重就越大。

max_fails :允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream 板块定义的错误.

fail_timeout : max_fails次失败后,暂停的时间。

backup: 其它所有的非backup机器down或者者忙的时候,请求backup机器。所以这台机器压力会最轻。

5.官网一级域名跳转(301重定向)

需求:在IE浏览器下打开9wee.com直接跳转到www.qinyj.top,方便旗下游戏内容获取

修改nginx配置文件在,root后增加

if ($host = “qinyj.top”)

{

rewrite ^(.*) http://www.qinyj.top$1 permanent;

# return 403; #可根据远程ip拒绝某个频繁访问的ip,

}

if ($http_user_agent ~* “qihoobot|Baiduspider|Googlebot|Googlebot-Mobile|Googlebot-Image|Mediapartners-Google|Adsbot-Google|Yahoo! Slurp China|YoudaoBot|Sosospider|Sogou spider|Sogou web spider|MSNBot”)

{

return 403; # if条件语句可以控制url的跳转。可防治爬虫。防搜索引擎的

}

重启/etc/init.d/nginx reload 就可

6.nginx访问控制

nginx中内置ngx_http_access_module

加入到location 生效区域内:

  location / {

  deny 192.168.1.1;

  allow 192.168.1.0/24;

  allow 10.1.1.0/16;

  allow 2001:0db8::/32;

  deny all;

  }

重启nginx就可。

6.Nginx默认是显示版本号的,如:

真正的干货-使用Nginx的总结~很实用

这样就给人家看到你的服务器nginx版本,这样暴露出来的版本号就容易变成攻击者可利用的信息。所以,从安全的角度来说,隐藏版本号会相对安全些!

配置如下:

修改nginx.conf配置文件增加:

server_tokens off; #off关闭

7.ngx_http_stub_status_module 是一个 Nginx 的内置 HTTP 板块,该板块可以提供 Nginx 的状态信息。默认情况下这个板块是不被编译进来的,所以在编译 Nginx 时要指定加载该板块–with-http_stub_status_module

在nginx的server段配置对应的信息

server {

listen 80;

server_name xxx;

location /ngx_status 自己设置板块名称

{

stub_status on; 开启状态访问

access_log off;

    #allow all; 可以设置需要那些主机访问

    #deny all;

}

}

curl 127.0.0.1:80/ngx_status

Active connections: 135

server accepts handled requests request_time

13711907 25715823 5175039843

Reading: 0 Writing: 12 Waiting: 123

8.目录浏览功能

在server段或者http{…}中增加

root /var/www/html/; #软件包文件存放目录,即从这里下载

autoindex on;        #//开启目录浏览功能; 关闭off

autoindex_exact_size off;      #//关闭详细文件大小统计,让文件大小显示MB,GB单位,默认为b;

autoindex_localtime on;      # //开启以服务器本地时区显示文件修改日期!

location = / {

allow 10.10.2.13;      ##location规则可以设置谁能下载谁不能下载。

deny all;

}

真正的干货-使用Nginx的总结~很实用

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 真正的干货-使用Nginx的总结~很实用

发表回复