前言
        老样子,先来讲讲我所遇到的问题,大概是需要外网访问一个内网服务器,想通过这台内网服务器访问到到另外一台内网服务器(两台内网服务器互通),可以说是跨服务器访问。咨询过大佬后自己在总结一下。大佬一听,立马跟我说,这个很简单,需要nginx做反向代理即可,那么如何操作呢,接下来回顾一下。
        首先情况摸清楚:两台服务器,一台外网可访问到的内网服务器一【10.25.7.169:8070】,另一台外网不可访问到的内网服务器二【10.25.12.188:8080】。我们要让外网去访问服务器一,然后通过nginx做反向代理,间接访问服务器二。首先要在服务器一上安装nginx。

linux离线安装Nginx详细步骤

下载nginx安装环境:gcc、g++、pcre、zlib、nginx
        1)gcc

##   安装nginx需要将官网下载的源码进行编译,编译一以来gcc和g++,如果没有gcc环境,需要安装gcc
##  下载好所需要的文件后上传至服务器,进入gcc的根目录执行如下操作,
##  当执行下面语后,系统会总动选出所需要的依赖包进行安装不需要的就会自动清理。[root@xjxx-wwapp gcc]#rpm -Uvh *.rpm --nodeps --force##    最后查询一下是否安装成功[root@xjxx-wwapp gcc]#gcc -v
[root@xjxx-wwapp gcc]#g++ -v
##  如果出现他们各自的版本号,说明安装成功

2)pcre

##   pcre是一个库,包括perl兼容的正则表达式库
##  nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库。
##  同样进入到pcre根目录下执行如下命令。[root@xjxx-wwapp pcre]#rpm -ivh pcre-8.32-17.el7.x86_64.rpm --force
[root@xjxx-wwapp pcre]#rpm -ivh pcre-devel-8.32-17.el7.x86_64.rpm --force

3)zlib

##   zlib库提供了很多种压缩和解压缩的方式,nigin使用zlib对http包的内容进行gzip。[root@xjxx-wwapp zlib]#rpm -ivh zlib-1.2.7-18.el7.x86_64.rpm    --force
[root@xjxx-wwapp zlib]#rpm -ivh zlib-devel-1.2.7-18.el7.x86_64.rpm   --force

4)nginx

##   进入nginx的根目录解压[root@xjxx-wwapp nginx]#tar -xzvf nginx-1.18.0.tar.gz##   将源码移动到对应目录下[root@xjxx-wwapp nginx]#sudo mv nginx-1.18.0 /usr/local/
[root@xjxx-wwapp nginx]#cd /usr/local/nginx-1.18.0/
[root@xjxx-wwapp nginx-1.18.0]#./configure##   编译[root@xjxx-wwapp nginx-1.18.0]#make##    安装[root@xjxx-wwapp nginx-1.18.0]#make  install##   运行nginx[root@xjxx-wwapp nginx-1.18.0]#cd sbin/
[root@xjxx-wwapp sbin]#./nginx##   检查是否安装正确[root@xjxx-wwapp sbin]#/usr/local/nginx-1.18.0/sbin/nginx -t## nginx的启动、停止、退出、重新加载配置文件的命令[root@xjxx-wwapp sbin]#/./nginx
[root@xjxx-wwapp sbin]#/./nginx -s stop
[root@xjxx-wwapp sbin]#/./nginx -s quit
[root@xjxx-wwapp sbin]#/./nginx -s reload

接下来开始配置nginx反向代理

##   进入nginx配置文件
[root@xjxx-wwapp conf]#vim nginx.conf##    复制一组server,然后进行如下修改
server {##  监听8080端口listen 8080;server_name localhost;##    路由1配置:如果请求的url包含/,走本地的8070端口访问location / {proxy_pass http://127.0.0.1:8070;proxy_connect_timeout 300s;proxy_send_timeout 900;proxy_read_timeout 900;proxy_buffer_size 32k;proxy_buffers 4 64k;proxy_busy_buffers_size 128k;proxy_redirect off;proxy_hide_header Vary;proxy_set_header Accept-Encoding '';proxy_set_header Referer $http_referer;proxy_set_header Cookie $http_cookie;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;}## 路由2配置:如果url遇到/appFileDownLoad/的请求,走另外一台内网服务器的8080端口location /appFileDownLoad/ {## rewrite 重写当前路径,去掉/appFileDownLoad/标记rewrite ^/appFileDownLoad/(.*) /$1 break;proxy_pass http://10.25.12.188:8080;}
}

假设我们通过外网访问到一个请求:http://外网ip:9527/HVPS/MainServlet/op=report&pid=MAX_DAY,外网访问到内网服务器一【10.25.7.169:8070】,通过nginx反向代理,根据请求url发现,并没有特殊的标记,然后nginx将请求发送给本地;
        再假设我们通过外网访问一个请求:http://外网ip:9527/appFileDownLoad/norone/fileDownLoad.do?type=reportDoc&file=1603247989056.xls,外网访问到内网服务器一【10.25.7.169:8070】,通过nginx反向代理,根据请求url发现,有特殊标记/appFileDownLoad/,然后nginx将请求发送给内网服务器二【http://10.25.12.188】
        到此为止,我的问题就已经解决了。

Nginx代理服务器转发解决跨服务器访问相关推荐

  1. vue反向代理解决跨域及部署nginx端口转发解决跨域

    1. 前言 本文是为了解决vue反向代理解决跨域及部署服务器nginx端口转发解决跨域,因为踩了不少的坑,百度了很多,也试了太多的方法,最终得以解决,所以记录一下,希望遇到同样问题的友友们可以高效的解 ...

  2. linux apache 跨域,解决nginx/apache静态资源跨域访问问题详解

    1. apache静态资源跨域访问 找到apache配置文件httpd.conf 找到这行 #LoadModule headers_module modules/mod_headers.so 把#注释 ...

  3. Nginx配置valid_referer解决跨站请求伪造(CSRF)

    Nginx配置valid_referer解决跨站请求伪造(CSRF) 文章目录 Nginx配置valid_referer解决跨站请求伪造(CSRF) 漏洞说明 漏洞描述 危害等级 修复建议 漏洞复现 ...

  4. 通过nginx反向代理解决跨域

    先写一个发送跨域请求的页面index.html <html> <head><title></title> </head> <body& ...

  5. Nginx 方向代理解决跨域问题-2

    概述 在浏览器端进行 Ajax 请求时会出现跨域问题,那么什么是跨域,如何解决跨域呢?先看浏览器端出现跨域问题的现象,如下图所示 什么是跨域问题? 跨域,指的是浏览器不能执行其他网站的脚本.它是由浏览 ...

  6. mysql跨服务器查询语句_MySQL 跨服务器访问之-FEDERATED引擎

    在工作中会遇到mysql要跨服务器访问,下面就介绍mysql的FEDERATED引擎如何建立跨服务器访问 进入mysql命令行,没有看到Federated,说明没有安装 mysql>show e ...

  7. php跨服务器访问不了,php跨服务器访问方法小结

    本文实例总结了php跨服务器访问方法..具体分析如下: 近来项目中遇到跨服务器访问的问题,研究了好些日子,总结如下: 1.用file_get_contents方法 $host = 'url'; $ra ...

  8. 利用nginx 反向代理解决跨域问题

    利用nginx 反向代理解决跨域问题 参考文章: (1)利用nginx 反向代理解决跨域问题 (2)https://www.cnblogs.com/hpx2020/p/9928175.html 备忘一 ...

  9. nginx反向代理解决跨域问题,使本地调试更方便

    nginx反向代理解决跨域问题,使本地调试更方便 参考文章: (1)nginx反向代理解决跨域问题,使本地调试更方便 (2)https://www.cnblogs.com/gwf93/p/102951 ...

最新文章

  1. SpringBoot第二十二篇: 创建含有多module的springboot工程
  2. Microsoft Visual Studio 宏脚本添加注释模板
  3. 3.QT数据库综合案例,模糊查询等操作
  4. [linux] shell脚本编程-统计日志文件中的设备号发通知邮件
  5. jzoj3845-简单题【dp】
  6. vmware安装minimal centos报错/etc/rc5.d/s99local : line
  7. openresty package.path require 报错
  8. asp.net ajax 怎么获取前端ul li_useEffect Hook 是如何工作的(前端需要懂的知识点)
  9. Js获取字符串的显示宽度/高度
  10. Linux学习总结(34)——Linux系统目录结构详解
  11. Python官方软件包存储库成恶意软件大本营?
  12. tensorflow2.0对应python版本_TensorFlow2.1.0最新版本安装详细教程
  13. 迅雷远程与服务器失去响应,#原创新人# 彻底解决迅雷关闭接口对群晖NAS的影响...
  14. PMP培训内容有哪些?
  15. c语言教师工资管理系统源程序设计,C语言教师工资管理系统
  16. lan口配置 petalinux_【Xilinx-Petalinux学习】-02-建立PetaLinux工程
  17. 【1194】移动路线
  18. CSS3实现闪烁动画效果
  19. Android MIntegral广告SDK接入
  20. 在测试tensorBroad中在运行mnist_with_summaries.py时URLError:urlopen error [WinError 10060] 由于连接方在一段时间后没有正确答

热门文章

  1. linux系统grep用法,linux中grep的用法
  2. c语言答辩题目及答案,c语言if语句的练习题答案.doc
  3. 技术的本质——读书笔记
  4. 【信息学奥赛】2061:【例1.2】梯形面积(C++)
  5. java xpath evaluate_java – XPath.evaluate性能在多个调用中减慢(荒谬)
  6. Pacemaker+corosync实现高可用集群
  7. 基于 React hooks + Typescript + Cesium 绘制四棱锥(视椎体)
  8. 服装界BOM的管理方式
  9. TERASOLUNA Framework
  10. 保留关键字 (Transact-SQL)