背景


  • 公司有保密要求比较高,数据安全要求比较高的企业客户,要求核心业务服务器部允许直接访问互联网,但是因为我们有一些OCR识别以及发票查验等的场景需要连接云端的服务才可以正常使用, 所以这里面就存在安全与易用性的矛盾,之前采取的方式是nginx反向代理云端服务, 在内网修改hosts 进行虚拟DNS解析就可以实现,不需要改程序代码.稳定性比较好,但是客户方要求必须使用正向搭理,由代理服务器负责将服务转发至局域网.为了验证解决方案,简单总结一下正向代理的搭建过程.

搭建过程


  • 本来想使用apache的httpd的tar包进行安装,但是发现编译起来比较麻烦,需要有apr以及apr-tuil等包,需要不停的下载tar进行编译,比较繁琐,所以索性改用docker方式运行.也是对自己docker技能的一个简单自我检查.
docker pull httpd
docker run -d --name httpd httpd
#拉取并且启动容器
docker cp httpd:/usr/local/apache2/conf /root
#将httpd的配置文件拉取出来,在本地进行增加便于修改
#主要是我懒 不想自己去找配置文件了.
cd /root/conf
进入配置文件目录进行参数修改
第一部分
vim /root/conf/httpd.conf
注意打开如下部分的 proxy设置
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
LoadModule proxy_scgi_module modules/mod_proxy_scgi.so
LoadModule proxy_uwsgi_module modules/mod_proxy_uwsgi.so
LoadModule proxy_fdpass_module modules/mod_proxy_fdpass.so
LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_express_module modules/mod_proxy_express.so
# 需要注意的是 不同版本的配置文件可能不一样. 我这边就删除了两项docker镜像里面没有依赖包的配置项目, 但是不影响正常使用.
注意在httpd.conf 的前面增加一个配置项目, 增加上允许读取vhosts的配置项目
Include conf/extra/httpd-vhosts.conf # 这样总体配置文件就算完成了
在根据include 的配置文件进行修改
vim /root/conf/extra/httpd-vhosts.conf
我这边修改成为的内容为:
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "/usr/local/apache2/docs/dummy-host.example.com"
ServerName 10.110.82.173
ErrorLog "logs/dummy-host.example.com-error_log"
CustomLog "logs/dummy-host.example.com-access_log" common
Options FollowSymLinks #正向代理设置
ProxyRequests On
ProxyVia On
<Proxy *>
</Proxy>
</VirtualHost> 注意虚拟站点里面需要增加 ProxyRequests 以及 ProxyVia 然后proxy 增加 * 使之可以传入任意的域名进行访问.
修改完成之后保存文件.
删除之前的httpd 容器 docker rm httpd -f 重新运行容器, 使用如下命令 docker run -d -p 888:80 -p 881:443 -p 9110:9100 -p 9101:9101 -v /root/conf:/usr/local/apache2/conf --name httpd httpd

正向代理验证


  • 找一台没有外网访问权限但是可以连接 docker 容器所在服务器的机器

  • 安装chrome 进行访问百度

  • 增加上代理之后进行处理 效果为:

HTTPD 搭建正向代理 使无网络访问权限的服务器能够访问互联网服务的快捷办法的更多相关文章

  1. 关于苹果手机设置fiddler代理后无网络无法抓包的问题

    1.设置代理后,需要在苹果手机的关于本机中,打开证书信任 这样就可以抓包咯

  2. Dynamics CRM报表无法访问提示“报表服务器无法访问或使用加密密钥。你可能需要将服务器添加到扩展组,或重新导入”

    当我们部署Dynamics CRM的环境的时候如果报表配置的不规范会出现很多问题,尤其是这个问题相对来说更棘手,解决起来非常麻烦. 网上很多教程都说直接到报表配置页删除密钥就可以了,实际上删除的时候会 ...

  3. nginx正向代理访问百度地图API

    正向代理的概念 正向代理,也就是传说中的代理,他的工作原理就像一个跳板,简单的说,我是一个用户,我访问不了某网站,但是我能访问一个代理服务器这个代理服务器呢,他能访问那个我不能访问的网站于是我先连上代 ...

  4. Centos8 Docker+Nginx部署Asp.Net Core Nginx正向代理与反向代理 负载均衡实现无状态更新

    首先了解Nginx 相关介绍(正向代理和反向代理区别) 所谓代理就是一个代表.一个渠道: 此时就涉及到两个角色,一个是被代理角色,一个是目标角色,被代理角色通过这个代理访问目标角色完成一些任务的过程称 ...

  5. Nginx教程(7) 正向代理与反向代理【总结】

    1.前言 最近工作中用到反向代理,发现网络代理的玩法还真不少,网络背后有很多需要去学习.而在此之前仅仅使用了过代理软件,曾经为了访问google,使用了代理软件,需要在浏览器中配置代理的地址.我只知道 ...

  6. Nginx正向代理、反向代理、负载均衡及性能优化

    一.Nginx是什么 Nginx是一款高性能的 HTTP 和反向代理服务器,由俄罗斯人Igor Sysoev(伊戈尔·赛索耶夫)为俄罗斯网站Rambler.ru开发的,在Rambler.ru网站平稳的 ...

  7. Nginx教程(7) 正向代理与反向代理【总结】 (转)

    1.前言 最近工作中用到反向代理,发现网络代理的玩法还真不少,网络背后有很多需要去学习.而在此之前仅仅使用了过代理软件,曾经为了访问google,使用了代理软件,需要在浏览器中配置代理的地址.我只知道 ...

  8. 正向代理与反向代理的区别【Nginx读书笔记】

    正向代理的概念 正向代理,也就是传说中的代理,他的工作原理就像一个跳板, 简单的说, 我是一个用户,我访问不了某网站,但是我能访问一个代理服务器 这个代理服务器呢,他能访问那个我不能访问的网站 于是我 ...

  9. 正向代理与反向代理的区别【Nginx读书笔记】(zz)

    正向代理与反向代理的区别[Nginx读书笔记]       正向代理的概念 正向代理,也就是传说中的代理,他的工作原理就像一个跳板,简单的说,我是一个用户,我访问不了某网站,但是我能访问一个代理服务器 ...

  10. 代理_正向代理_反向代理_nginx_转

    转自:Nginx 相关介绍(Nginx是什么?能干嘛?)   蔷薇Nina 关于代理 说到代理,首先我们要明确一个概念,所谓代理就是一个代表.一个渠道: 此时就设计到两个角色,一个是被代理角色,一个是 ...

随机推荐

  1. 昇腾携手OpenMMLab,支持海量算法仓库的昇腾AI推理部署

    摘要:近日,昇腾AI联合上海人工智能实验室,正式实现OpenMMLab算法仓库在昇腾的异构计算架构CANN上的推理部署,目前相关代码已推入MMDeploy 0.10.0版本,并在GitHub正式发布. ...

  2. 从1天到10分钟的超越,华为云DRS在背后做了这些

    摘要:华为云DRS助力一汽-大众BI平台实时查看报表,提升数字化决策能力. 本文分享自华为云社区<分钟级查看报表,华为云&一汽-大众,让商机时刻被洞见>,作者:GaussDB 数据 ...

  3. PLS-00103: 出现符号 ")"在需要下列之一时

    执行 Oracle 存储过程时,出现 "PLS-00103: 出现符号 ")"在需要下列之一时:", Cause: java.sql.SQLException: ...

  4. Mac 向日葵设置

  5. 创建一个简单的Docker镜像

    1. 创建 Dockerfile 文件.index.html测试页面 [root@localhost docker]# vi Dockerfile FROM nginx:1.17.6 #基于 ngin ...

  6. 解密Prompt系列23.大模型幻觉分类&归因&检测&缓解方案脑图全梳理

    上一章我们主要聊聊RAG场景下的幻觉检测和解决方案,这一章我们单独针对大模型的幻觉问题,从幻觉类型,幻觉来源,幻觉检测,幻觉缓解这四个方向进行整理.这里就不细说任意一种方法了,因为说不完根本说不完,索 ...

  7. 【python爬虫】 request模块介绍 http协议版本区别 双token认证 携带cookie的两种方式 requests.session的使用 post请求携带数据编码格式 request.text编码问题 下载图片,视频

    目录 上节回顾 今日内容 1 爬虫介绍 2 request模块介绍 3 request发送get请求 4 request携带参数 5 url编码解码 6 携带请求头 http协议版本之间的区别 7 发 ...

  8. Canal 组件简介与 vivo 帐号实践

    互联网应用随着业务的发展,部分单表数据体量越来越大,应对服务性能与稳定的考虑,有做分库分表.数据迁移的需要,本文介绍了vivo帐号应对以上需求的实践. 一.前言 Canal 是阿里巴巴开源项目,关于什 ...

  9. 深度学习基础课:“判断性别”Demo需求分析和初步设计(上)

    大家好~我开设了"深度学习基础班"的线上课程,带领同学从0开始学习全连接和卷积神经网络,进行数学推导,并且实现可以运行的Demo程序 线上课程资料: 本节课录像回放 扫码加QQ群, ...

  10. python测试小工具

    2022年第三天,祝福大家元旦快乐,此测试工具在原基础上改进,增加一些新的功能,并去除了复杂的层级链接,架构目前比较简单,全部只使用了一个GridBagSizer布局器完成. 一.背景:主要解决软件测 ...