端口映射+nginx对外请求控制

前几天接到个任务,要和另一家公司对接,具体就是我这开一个接口给对面调用.因为一开始在内网测试,那问题来了,怎么才能让对面访问到呢?

​ 当然是找运维大兄弟.....操作也很简单,就是用路由做一个端口映射,用公网ip做一个端口映射到我本机地址.这样外网就能访问到我的tomcat了.

比如说公网ip是192.168.1.0,我的ip是192.168.1.1,tomcat端口是8080.

那就在路由上配一个端口9876直接映射到本地tomcat 192.168.1.1:8080.那现在外网就可以通过http://192.168.1.0:9876/访问到本地http://192.168.1.1:8080/了.

就这样,做好了接口,问题又来了,因为这个接口是在核心系统里,那这样就会把所有的接口都暴露了,肯定不行..

怎么做呢,怎么才能拦截这些请求呢? 当然又去问了运维大兄弟,再查了些资料,得知用Nginx可以只允许访问指定的url,其他的都直接对外禁止访问.

那怎么做呢?

重新修改下映射规则,不直接映射到tomcat,先经过nginx,通过nginx再把请求发送到tomcat.

这里就重新映射一个端口8000,在nginx中监听这个端口,然后再配置访问规则,再代理到tomcat

在nginx.config中添加一段server

server {
        #监听8080端口,这个8080是路由映射到本机的端口
        listen       8000;
        server_name  0.0.0.0;
        #charset koi8-r;
        #access_log  logs/host.access.log  main;
        location / {
            #阻止所有请求,这里将永远输出403错误
            deny all;
        }

        #允许访问 /test/processe接口
        location ~ /test/processe {
            # 代理本地项目url
            proxy_pass http://192.168.4.48:8080;
        }
        #如果还有其他接口,就再添加一个location 
         #location ~ /test/processe1 {
            #proxy_pass http://192.168.4.48:8080;
        #}
         #location ~ /test/processe2 {
            #proxy_pass http://192.168.4.48:8080;
         #}
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

这里的流程就是,外网通过访问公网ip+给定的端口,在路由根据映射规则,再访问到我这台电脑,这个时候请求不是直接去访问本机的接口,而是进入了Nginx,在这里,会去检查请求的url是否与配置允许的地址相同,不同的话就会403 Forbidden错误啦,当uri是/test/processe时,就能访问实际代理的http://192.168.4.48:8080/test/processe接口了

那这样就可以让对面只能访问指定的接口.
原文链接:端口映射+nginx对外请求控制 | 火尧

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 119,336评论 16 133
  • 上一篇《WEB请求处理一:浏览器请求发起处理》,我们讲述了浏览器端请求发起过程,通过DNS域名解析服务器IP,并建...
    七寸知架构阅读 74,543评论 21 346
  • 没有特别的原因,就是违规了,没有完成作业。 或许是因为神经绷的太紧,有意无意的想放松一下。给自己的压力太大了。看着...
    圈圈o0阅读 61评论 3 0
  • 总结一个工作中遇到的坑。后端返回的JSON明明是成功,但是始终被解析为错误,并返回3840错误。这个错误通常是因为...
    kuai空调阅读 10,367评论 8 10
  • 昨天去静安区寻访精品咖啡,目标是常德路888号的“补时”。“补时”的空气质量和装饰风格都让我颇失望。 沿着常德路向...
    三六书屋阅读 40评论 1 1