教你如何解决Nginx禁止ip加端口访问的问题

Nginx禁止IP加端口访问

使用iptables 限制对应端口,再利用Nginx将80端口转发到对应端口

CentOS7默认的防火墙是 firewalle,先看看服务器中有没有安装 iptables

[root@VM-0-3-centos ~]# service iptables status
Redirecting to /bin/systemctl status iptables.service
Unit iptables.service could not be found.

安装 iptables

yum install -y iptables

关闭自带的防火墙 firewalld

# 停止firewalld服务
systemctl stop firewalld
# 禁用firewalld服务
systemctl mask firewalld

服务命令

# 启动iptables
systemctl start iptables.service

# 停止iptables
systemctl stop iptables.service

# 重启iptables
systemctl restart iptables.service

禁止外部访问8080端口

iptables -I INPUT -p tcp --dport 8080 -j DROP

允许本机访问8080端口

iptables -I INPUT -s 127.0.0.1 -p tcp --dport 8080 -j ACCEPT

放行80端口

iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT 

到此,就可以使用域名直接访问8080端口了,并且IP + 端口的方式,也已经无法访问

iptables常用命令

# 查看iptables现有规则
iptables -L -n
# 允许所有访问
iptables -P INPUT ACCEPT
# 清空所有默认规则
iptables -F
# 清空所有自定义规则
iptables -X
# 所有计数器归0
iptables -Z
# 允许来自于lo接口的数据包(本地访问)
iptables -A INPUT -i lo -j ACCEPT
# 开放22端口
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# 开放21端口(FTP)
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
# 开放80端口(HTTP)
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# 开放443端口(HTTPS)
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
# 允许ping
iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT
# 允许接受本机请求之后的返回数据 RELATED,是为FTP设置的
iptables -A INPUT -m state --state  RELATED,ESTABLISHED -j ACCEPT
# 其他入站一律丢弃
iptables -P INPUT DROP
# 所有出站一律绿灯
iptables -P OUTPUT ACCEPT
# 所有转发一律丢弃
iptables -P FORWARD DROP

到此这篇关于Nginx禁止ip加端口访问的文章就介绍到这了,更多相关Nginx禁止ip端口访问内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Nginx 禁止IP访问如何实现

    Nginx 禁止IP访问 我们在使用的时候会遇到很多的恶意IP攻击,这个时候就要用到Nginx 禁止IP访问了.下面我们就先看看Nginx的默认虚拟主机在用户通过IP访问,或者通过未设置的域名访问(比如有人把他自己的域名指向了你的ip)的时候生效最关键的一点是,在server的设置里面添加这一行: listen 80 default; 后面的default参数表示这个是默认虚拟主机. Nginx 禁止IP访问这个设置非常有用. 比如别人通过ip或者未知域名访问你的网站的时候,你希望禁止显示任何有

  • 禁止IP访问网站的多种方法分享(linux,php,nginx,apache)

    PHP禁止某个IP或IP段访问 废话不多说,客官请看: <? //禁止某个IP $banned_ip = array ( "127.0.0.1", //"119.6.20.66", "192.168.1.4" ); if ( in_array( getenv("REMOTE_ADDR"), $banned_ip ) ) { die ("您的IP禁止访问!"); } //禁止某个IP段 $ban_ran

  • 详解CentOS下Nginx如何禁止IP访问

    我们就先看看Nginx的默认虚拟主机在用户通过IP访问,或者通过未设置的域名访问(比如有人把他自己的域名指向了你的ip)的时候生效最关键的一点是,在server的设置里面添加这一行: listen 80 default; 后面的default参数表示这个是默认虚拟主机. Nginx 禁止IP访问这个设置非常有用. 比如别人通过ip或者未知域名访问你的网站的时候,你希望禁止显示任何有效内容,可以给他返回500.目前国内很多机房都要求网站主关闭空主机头,防止未备案的域名指向过来造成麻烦. 就可以这样

  • Nginx 禁止IP访问 只允许域名访问

    我们在使用的时候会遇到很多的恶意IP攻击,这个时候就要用到Nginx 禁止IP访问了.下面我们就先看看Nginx的默认虚拟主机在用户通过IP访问,或者通过未设置的域名访问(比如有人把他自己的域名指向了你的ip)的时 候生效最关键的一点是,在server的设置里面添加这一行: listen 80 default; 后面的default参数表示这个是默认虚拟主机. Nginx 禁止IP访问这个设置非常有用. 比如别人通过ip或者未知域名访问你的网站的时候,你希望禁止显示任何有效内容,可以给他返回50

  • 教你如何解决Nginx禁止ip加端口访问的问题

    Nginx禁止IP加端口访问 使用iptables 限制对应端口,再利用Nginx将80端口转发到对应端口 CentOS7默认的防火墙是 firewalle,先看看服务器中有没有安装 iptables [root@VM-0-3-centos ~]# service iptables statusRedirecting to /bin/systemctl status iptables.serviceUnit iptables.service could not be found. 安装 ipta

  • Nginx禁止ip访问或非法域名访问

    在生产环境中,为了网站的安全访问,需要Nginx禁止一些非法访问,如恶意域名解析,直接使用IP访问网站.下面记录一些常用的配置示例: 1)禁止IP访问 如果没有匹配上server name就会找default默认,返回501错误. server { listen 80 default_server; server_name _; return 501; } 2)通过301跳转到主页 server { listen 80 default_server; server_name _; rewrite

  • nuxt配置通过指定IP和端口访问的实现

    非常简单,只要加一个配置! 第1步,复制这个代码(端口可改) "config": { "nuxt": { "host": "0.0.0.0", "port": "8090" } }, 第2步,找到根目录下的package.json,把代码粘贴进去. 这是全部的代码,我这里配置在了8~13行. { "name": "guanWangPhone", &

  • 基于Nginx禁止指定IP、国外IP访问我的网站

    目录 用Nginx禁止指定IP.国外IP访问我的网站 ①安装 geoip2 扩展依赖: ②下载 ngx_http_geoip2_module 模块: ③解压模块到指定路径 ④安装 nginx 模块 ⑤下载最新的 IP 地址数据库文件 ⑥配置 nginx 配置文件 ⑦模拟测试验证 总结 用Nginx禁止指定IP.国外IP访问我的网站 想要实现这个功能有很多方法,下面我就来介绍基于 Nginx 的 ngx_http_geoip2 模块来禁止国外 IP 访问网站. ①安装 geoip2 扩展依赖: [

  • nginx禁止直接通过ip进行访问并跳转到自定义500页面的操作

    直接上配置文件 server { listen 80 default; # 要禁止直接访问ip,需要加上default server_name ~.*; error_page 404 400 402 401 /404.html; # 定义错误状态码对应的html文件 location = /404.html { # 如果使用相对路径一般将文件放在nginx安装目录下的html/下,比如:/usr/local/nginx/html/404.html root html; } error_page

  • 解决使用了nginx获取IP地址都是127.0.0.1 的问题

    获取ip工具 import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import javax.servlet.http.HttpServletRequest; /** * IP地址 * * @date 2020年3月6日 下午12:57:02 */ @Slf4j public class IPUtils { /** * 获取IP地址 * * 使用Nginx等反向代理软件, 则不能通过reque

随机推荐