nginx代理、白名单过滤、双域名备案代理

一、安装启动nginx

#添加CentOS 7 Nginx yum资源库

[root@localhost ~]# rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

#yum安装
[root@localhost ~]# yum install -y nginx

#设置开机自启
[root@localhost ~]# systemctl enable nginx.service

#启动
[root@localhost ~]# systemctl start nginx.service

二、开启防火墙80端口

#防火墙开放80端口

[root@localhost ~]# firewall-cmd --zone=public --add-port=80/tcp --permanent

#刷新防火墙
[root@localhost ~]# firewall-cmd --reload

#查看防火墙所有开放的端口
[root@localhost ~]# firewall-cmd --list-ports

三、新增白名单文件(geo.conf中加入客户端的IP集合)

[root@localhost ~]# vim /etc/nginx/conf/geo.conf

192.168.10.2 1; #192.168.10.2 客户端ip地址   1允许访问,0不允许访问
192.168.10.3 1;
192.168.10.4 1;
192.168.10.14 1;
192.168.10.15 1;
192.168.10.16 1;

四、配置nginx主清单文件

[root@localhost ~]# vim /etc/nginx/nginx.conf

1、在http节点下加入

   

geo $remote_addr $geo {
        default 0; #0表示禁止访问
        include conf/geo.conf;
    }

2、在service或者location节点下加入

       

if ( $geo  = 0 ) {
            return 403;   #不在白名单内直接返回403
        }

3、白名单配置参考


4、在service下新增要代理的服务器

location /message {
    proxy_pass http://192.168.10.66:9090/;
    proxy_set_header Host $host:$server_port;
    proxy_set_header   X-Real-IP $remote_addr;
    proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
 }

5、wq保存配置文件并刷新nginx配置

[root@localhost ~]# nginx -s reload

五、备注

    系统是centos7、nginx是下载最新版本的;如果安装成功访问有问题可以尝试关闭SELINUX

   1、查看状态:[root@localhost ~]# getenforce                       #Disabled为关闭状态

    2、临时关闭:[root@localhost ~]# setenforce 0

    3、永久关闭:[root@localhost ~]# vi /etc/selinux/config      #将SELINUX=enforcing改为SELINUX=disabled 然后重启系统

六、Windows服务器配置双域名备案网页(一台物理服务器分别被两个域名同时映射解析,80出来的不能是同一个备案信息的网页不然有一个域名会备案失败或罚款)

  1. 下载并解压nginx官方包:http://nginx.org/en/download.html
  2. 配置conf/nginx.config,域名1和域名2同时指向你的服务器,两域名分别访问返回iis上配置好的不同网站(域名不必加www前缀)

server {
    listen 80;
        server_name  域名1;
       location / {
         proxy_pass http://localhost:8221/; #域名1对应的iis网站备案信息 
         proxy_buffers 256 4k;
         proxy_max_temp_file_size 0k;
         proxy_connect_timeout 30;
         proxy_send_timeout 60;
         proxy_read_timeout 60;
         proxy_next_upstream error timeout invalid_header http_502;
    }
    }
    server {
    listen 80;
        server_name  域名2;
       location / {
         proxy_pass http://localhost:8222/; #域名2对应的iis网站备案信息  
         proxy_buffers 256 4k;
         proxy_max_temp_file_size 0k;
         proxy_connect_timeout 30;
         proxy_send_timeout 60;
         proxy_read_timeout 60;
         proxy_next_upstream error timeout invalid_header http_502;
    }
    }
}

   3.配置开机自启参考将nginx.exe的快捷启动方式拷贝置如下目录,Administrator根据实际登录用户名情况而定

C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

   4.nginx简单操作在nginx.exe所在的目录下cmd,或者直接双击nginx.exe可以进行启动或重启操作

1、启动:
D:\nginx\nginx-1.19.6\nginx-1.19.6\conf>>start nginx或
D:\nginx\nginx-1.19.6\nginx-1.19.6\conf>>nginx.exe
2、停止:
D:\nginx\nginx-1.19.6\nginx-1.19.6\conf>>nginx.exe -s stop或
D:\nginx\nginx-1.19.6\nginx-1.19.6\conf>>nginx.exe -s quit
注:stop是快速停止nginx,可能并不保存相关信息;quit是完整有序的停止nginx,并保存相关信息。
3、重新载入Nginx:
D:\nginx\nginx-1.19.6\nginx-1.19.6\conf>>nginx.exe -s reload
当配置信息修改,需要重新载入这些配置时使用此命令。
4、重新打开日志文件:
D:\nginx\nginx-1.19.6\nginx-1.19.6\conf>>nginx.exe -s reopen
5、查看Nginx版本:
D:\nginx\nginx-1.19.6\nginx-1.19.6\conf>>nginx -v

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值