清茶书香

一杯清茶,一本书籍,一个下午。


  • 首页

  • 归档

  • 分类

  • 关于

  • 搜索
Redis JPA Solr SpringData SpringMVC localRepository local Mapper 事务 Mybatis JDBC AOP DI IOC 常用函数 触发器 存储过程 Promise Gateway SpringCloud vue-cli axios es6 webpack npm vue 个性化 zsh 终端 caffeine jvm缓存 guava cache validation Mapping MapStruct comment 小程序 建站 WeHalo config logback plugins database idea maven spring https http nginx password RabbitMQ 秒杀系统 Windows MySQL 数据备份 halo SpringBoot shell Linux ip Optional Stream Lambda k8s Docker 列编辑 vim MacOS 图片合成 Java 远程联调 nps 内网穿透

nginx禁止IP直接访问

发表于 2020-11-30 | 分类于 运维 | 0 | 阅读次数 479

网站的服务器如果可以直接通过IP访问到那肯定是有隐患的,所以大部分的网站都会将服务器的IP直接访问给禁掉。

http访问

网站如果没有开启https访问,我们只需要添加一个简单的默认server即可。

    server {
        listen   80 default_server;
        server_name  _;
        return 403;
    }

server_name不填都可以,主要就是利用nginx的默认server来实现,匹配规则时如果没有匹配到我们配置的正常规则就会使用默认的server,然后返回设置的code。code为403则会返回一个nginx的403页面,返回其他非常规http code则会直接与客户端断开连接。

https访问

网站如果开启了https访问就需要在监听80端口的同时监听443端口,否则使用https加IP还是能直接访问到网站。但是这次就不是简单的加个监听443端口就可以的,还需要将https证书也配置上,否则nginx将无法启动。

    server {
        listen   80 default_server;
        listen   443 default_server;

        server_name  _;

	#ssl证书配置,可以使用域名的证书配置
        ssl_certificate cert/yourcrt.crt;
        ssl_certificate_key cert/yourkey.key;
        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
        ssl_prefer_server_ciphers on;

        return 403;
    }

遭遇的坑

我之前就是以为http的监听80端口,加个443端口就可以同时把两种访问方式都禁掉,事实是我异想天开了,也是对nginx了解的不够深入。于是就一直启动不起来,查看日志提示信息是下面的内容。
no "ssl_certificate" is defined for the "listen ... ssl" directive in /etc/nginx/nginx.conf:40

经过一番查阅资料得知只要是对https的处理都需要证书,还发现让IP的server使用域名的证书也可以通过检查。

Bennett wechat
欢迎收藏我的微信小程序,方便查看更新的文章。
  • 本文作者: Bennett
  • 本文链接: https://hibennett.cn/archives/nginx禁止ip直接访问
  • 版权声明: 本博客所有文章除特别声明外,均采用CC BY-NC-SA 3.0 许可协议。转载请注明出处!
# ip # Linux # nginx # http # https
使用Mac里的openssl生成密码
springboot中logback的配置
  • 文章目录
  • 站点概览
Bennett

Bennett

60 日志
28 分类
74 标签
RSS
Github E-mail Gitee QQ
Creative Commons
Links
  • MacWk
  • 知了
0%
© 2020 — 2023 hibennett.cn版权所有
由 Halo 强力驱动
|
主题 - NexT.Pisces v5.1.4

浙公网安备 33010802011246号

    |    浙ICP备2020040857号-1