nginx访问控制,用户控制,httpd!

1. 访问控制!!!

  1. 可以用在http, server, location, limit_except 上配置!!!
  2. 每一个层级都是影响到下一个层级的所有!
  3. allow:设定允许哪台或哪些主机访问,多个参数间用空格隔开
  4. deny:设定禁止哪台或哪些主机访问,多个参数间用空格隔开

1. 1 测试!!! 拒绝本机的访问!

[root@localhost nginx-1.20.1]# vim /usr/local/nginx/conf/nginx.conf
        location  /abc {
            deny 192.168.160.150;
            echo "abc";
        }
[root@localhost nginx-1.20.1]# nginx -s reload
[root@localhost nginx-1.20.1]# curl 192.168.160.150
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>

1.2 先允许后拒绝为白名单,除了允许之外的都禁止!!

[root@localhost nginx-1.20.1]# vim /usr/local/nginx/conf/nginx.conf
  location  /linjunjie {
            allow 192.168.160.150;
            deny all;
            echo "linjunjie";
        }
[root@localhost nginx-1.20.1]# nginx -s reload
[root@localhost nginx-1.20.1]# curl 192.168.160.150/linjunjie
linjunjie

在这里插入图片描述
在这里插入图片描述

1.3 在http 上设置黑名单!!!!

[root@localhost nginx-1.20.1]# vim /usr/local/nginx/conf/nginx.conf
http {
    include       mime.types;
    default_type  application/octet-stream;
    deny 192.168.160.150;
[root@localhost nginx-1.20.1]# nginx -s reload

[root@localhost nginx-1.20.1]# curl 192.168.160.150
<html>
<head><title>403 Forbidden</title></head>
<body>
<center><h1>403 Forbidden</h1></center>
<hr><center>nginx/1.20.1</center>
</body>
</html>

2. 用户认证!!

2.1 用户认证也可以分别在 http,server,location 上配置!

[root@localhost conf]# yum -y install httpd-tools
[root@localhost nginx-1.20.1]# htpasswd -c -m /usr/local/nginx/conf/.user_auth laolin
New password: 
Re-type new password: 
Adding password for user laolin

[root@localhost nginx-1.20.1]# vim /usr/local/nginx/conf/nginx.conf
        location  /test {
            auth_basic    "test";
            auth_basic_user_file /usr/local/nginx/conf/.user_auth;
            echo "linjunjie";
        }
[root@localhost nginx]# nginx -s reload

在这里插入图片描述

2.2 在http上配置!!!!

[root@localhost nginx]# vim /usr/local/nginx/conf/nginx.conf
http {
    include       mime.types;
    default_type  application/octet-stream;
    auth_basic    "test";
    auth_basic_user_file .user_auth;
[root@localhost nginx]# nginx -s reload

在这里插入图片描述
在这里插入图片描述

3. httpds配置!!!

    server {
        listen       443 ssl;
        server_name  www.laolin.com;

        ssl_certificate      /usr/local/nginx/ssl/nginx.crt;
        ssl_certificate_key  /usr/local/nginx/ssl/nginx.key;

        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;

        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;

        location / {
            root   html;
            index  index.html index.htm;
        }
    }

}
[root@localhost nginx]# nginx -s reload
[root@localhost nginx]# ss -antl
State          Recv-Q         Send-Q                 Local Address:Port                 Peer Address:Port        Process        
LISTEN         0              128                          0.0.0.0:111                       0.0.0.0:*                          
LISTEN         0              128                          0.0.0.0:80                        0.0.0.0:*                          
LISTEN         0              32                     192.168.122.1:53                        0.0.0.0:*                          
LISTEN         0              128                          0.0.0.0:22                        0.0.0.0:*                          
LISTEN         0              5                          127.0.0.1:631                       0.0.0.0:*                          
LISTEN         0              128                          0.0.0.0:443                       0.0.0.0:*                          
LISTEN         0              128                             [::]:111                          [::]:*                          
LISTEN         0              128                             [::]:22                           [::]:*                          
LISTEN         0              5                              [::1]:631                          [::]:*                         

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果在 CentOS 7 上使用 Nginx 作为 Web 服务器,并且在访问 PHP 页面时出现空白页面,可能是 PHP-FPM 没有正常工作的原因。您可以按照以下步骤解决该问题: 1. 检查 PHP-FPM 是否正在运行。 ``` systemctl status php-fpm ``` 如果没有运行,请使用以下命令启动 PHP-FPM: ``` systemctl start php-fpm ``` 2. 检查 Nginx 配置文件中的 PHP-FPM 配置是否正确。 在 Nginx 配置文件中,通常会有类似以下的配置: ``` location ~ \.php$ { fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } ``` 请确保 fastcgi_pass 指向正确的 PHP-FPM socket 文件路径,例如 /var/run/php-fpm/php-fpm.sock。 3. 检查 Nginx 和 PHP-FPM 用户组是否匹配。 在 CentOS 7 上,默认情况下,Nginx 运行在 nginx 用户组中,而 PHP-FPM 运行在 apache 用户组中。您可以使用以下命令查看它们的用户组: ``` ps aux | grep nginx ps aux | grep php-fpm ``` 请确保这两个进程都运行在相同的用户组中,例如 nginx。 4. 检查 SELinux 配置是否正确。 SELinux 是 CentOS 7 默认启用的强制访问控制机制。如果配置不正确,可能会阻止 Nginx 访问 PHP-FPM。您可以使用以下命令检查 SELinux 配置: ``` sestatus ``` 如果 SELinux 处于 enforcing 模式,请确保以下命令将 Nginx 和 PHP-FPM 标记为 httpd_sys_script_exec_t 类型: ``` semanage fcontext -a -t httpd_sys_script_exec_t '/usr/share/nginx/html(/.*)?' restorecon -R /usr/share/nginx/html ``` 这些步骤应该可以解决您的问题。如果问题仍然存在,请检查 Nginx 和 PHP-FPM 的日志文件以获取更多信息。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值