nginx 02 错误代码显示页面

一、 如何优化打开文件数(linux 优化系统文件描述符/windows 优化系统文件句柄数)

https://blog.csdn.net/qq769651718/article/details/79459346
临时优化:
ulimit -n 优化后数值
永久优化:
echo '* - nofile 65535' >>/etc/security/limits.conf
tail -1 /etc/security/limits.conf

二、 网站主机配置文件参数说明

/etc/nginx/conf.d/default.conf
grep -Ev “#|^$” default.conf.bak >default.conf

server {
       listen       80;                              	--- 定义网站服务监听端口信息
       server name  localhost;                          --- 定义网站url域名信息  www.oldboy.com 
       root   /usr/share/nginx/html;                    --- 定义站点目录路径信息
       index  index.html index.htm;                     --- 定义默认首页文件信息
       error_page  404 500 502 503 504  /50x.html;      ---  网站错误页面优雅显示 在root路径后编写50x.html
   }	

配置文件配置规范:
1. 响应区域模块花括号信息必须成对出现
2. 文件指定指令信息后面必须有分号结尾 (分号是英文)
3. 指令信息必须是合法指令

三、静态网站搭建过程说明

  1. 搭建单一静态网站 www.oldboyedu.com
    第一个里程:编写主机配置文件
    cd /etc/nginx/conf.d
    vim www.conf
server {
   listen       80;
   server_name  www.oldboy.com;
   root         /html/www;
   index        index.html index.htm;  
		}

第二个里程:创建站点目录
mkdir -p /html/www

第三个里程:获取代码信息
企业中获取代码方法:参见图示
编写简单网站代码信息:

<html>
<meta charset="utf-8">
<head>
<title>会所</title>
</head>
<body>
高级会所

<table border=1>
<tr> <td>01</td> <td>小兰</td> </tr>
<tr> <td>02</td> <td>小红</td> </tr>
<tr> <td>03</td> <td>小绿</td> </tr>
</table>
<a href="http://blog.oldboyedu.com">
<img src="oldboy.jpg" />
</a>
</body>
</html>

第四个里程: 将nginx服务进行重启
systemctl restart nginx

PS:需要进行本地解析配置!!!

  1. 搭建多个静态网站 www.oldboyedu.com / bbs.oldboyedu.com / blog.oldboyedu.com
    第一个里程:编写配置文件:
    vim www.conf
    vim bbs.conf
server {
		listen       80;
		server_name  bbs.oldboy.com;
		root         /html/bbs;
		index        index.html index.htm;  
		}

vim blog.conf

server {
        listen       80;
        server_name  blog.oldboy.com;
        root         /html/blog;
        index        index.html index.htm;
} 		

第二个里程:创建站点目录
mkdir -p /html/{www,bbs,blog}

第三个里程:获取网站代码信息

第四个里程:重启服务

网站页面访问方式:
1. 基于域名信息进行访问: www.oldboy.com
2. 基于端口信息进行访问: www.oldboy.com:8080
不同网站配置不同监听端口:
www — listen 8080
bbs — listen 8081
blog — listen 80

常见问题:访问域名信息和显示页面信息不符
访问 www.oldboy.com 但是显示的是blog.oldboy.com页面信息
网站访问原理:
第一步:将域名进行解析
www.oldboy.com —> 10.0.0.7
blog.oldboy.com —> 10.0.0.7
第二步:向10.0.0.7主机发送HTTP报文信息(数据包)
数据包封装过程: 数据包解解封装过程:
应用层: HTTP报文信息 应用层:HOST:www.oldboy.com 默认显示blog页面信息
传输层: 端口信息 传输层:80端口(server blog符合) 8080端口
网络层: 目标地址信息 网络层:进行解封装

数据包封装过程: 数据包解解封装过程:
应用层: HTTP报文信息 应用层:HOST:10.0.0.7 默认显示www网站页面信息
传输层: 端口信息 传输层:80端口(server blog www bbs符合)
网络层: 目标地址信息 网络层:进行解封装
第三步:将不同网站站点目录信息进行显示

  1. 基于地址信息进行访问: 10.0.0.7
    1. 配置好相应主配置文件加载顺序
    2. 配置好监听地址信息
      listen 172.16.1.7:80;

四、 网站安全防护配置说明 设置黑白名单

1. 根据用户地址或网段信息进行隔离防护(设置黑白名单模块)

第一个里程:编写配置文件:
vim www.conf

allow 10.0.0.0/24; 设置白名单
deny all; 设置黑名单

server {
	listen       172.16.1.7:80;
	server_name  www.oldboy.com;
	root         /html/www;
	index        index.html index.htm;
	location /sa {
		allow 10.0.0.0/24;
		deny all;
		}
	}

补充:ngx_http_access_module 模块指令配置:

ngx_http_access_module

Syntax: allow address | CIDR | unix: | all;
Default: —
Context: http, server, location, limit_except

Syntax: deny address | CIDR | unix: | all;
Default: —
Context: http, server, location, limit_except

配置参考样例:

location / {
deny  192.168.1.1;
allow 192.168.1.0/24;
allow 10.1.1.0/16;
allow 2001:0db8::/32;
deny  all;
}

参考资料:http://nginx.org/en/docs/http/ngx_http_access_module.html

第二个里程:在站点目录下添加后台目录信息
cd /html/www
mkdir sa
echo oldboy69 > sa/oldboy.html

错误状态码:
403 Forbidden 在服务端配置安全阻止策略,阻止了响应地址主机访问

2. 基于用户访问认真进行安全控制(设置登录密码模块)

加班订餐: 网站页面订餐 任何人都可访问
加班调休: 网站页面休假 任何人都可访问
财务页面: 公司内部账目 只能财务人员 单独划分到一个vlan 10.0.0.0/24

auth_basic 开启认证功能
auth_basic_user_file 认证密码文件

实际配置:
环境搭建准备:
mkdir /html/www/dingcan
echo “ding can pingtai” > dingcan/index.html
mkdir /html/www/caiwu
echo “cai wu qingkuang” > caiwu/index.html

认证配置方法:

server {
   listen       80;
   server_name  www.oldboy.com;
   root         /html/www;
   index        index.html index.htm;
   location /财务 {
     auth_basic           "kk2009";          ------是否开启认证功能
     auth_basic_user_file /etc/nginx/htpasswd; ------密码文件存放位置
   }
   location /运维 {
      allow 10.0.0.0/24;
      deny all;
   }
}

创建密码文件:
htpasswd — 创建密文密码文件 下载阿帕奇工具包
yum install -y httpd-tools

创建密码文件并设置认证用户:b免交互创建账户密码
htpasswd -bc /etc/nginx/htpasswd oldboy oldboy123

添加新的认证用户:
htpasswd -b /etc/nginx/htpasswd oldgirl oldgirl123

删除认证用户信息:
htpasswd -D /etc/nginx/htpasswd oldgirl

ngx_http_auth_basic_module — 网站页面基础认证模块
指令信息:

Syntax: auth_basic string | off; — 是否开启认证功能
Default: auth_basic off;
Context: http, server, location, limit_except

Syntax: auth_basic_user_file file;
Default: —
Context: http, server, location, limit_except

配置样例:

location / {
   auth_basic           "oldboy69";
   auth_basic_user_file conf/htpasswd;
  auth_basic_user_file /conf/htpasswd;

相对路径:相对于/etc/nginx 去 /etc/nginx/conf/htpasswd
绝对路径: 去 /conf/htpasswd
}

认证密码文件权限改为600出现的异常说明

错误状态码信息:
500 Internal Server Error

  1. 配置文件中指定信息不正确 路径信息/权限信息
  2. 网站代码信息加载有bug

用户浏览器 HTTP请求(admin) --> 将用户转换为worker进程用户 web服务器 —> worker进程用户加载 认证文件权限(600)
chmod 600 /etc/nginx/conf/htpasswd
chown nginx.nginx /etc/nginx/conf/htpasswd

错误状态码
401 Authorization Required — 认证信息输入不正确

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值