相关文章推荐
低调的钱包  ·  用了这个 IDE ...·  7 小时前    · 
干练的水桶  ·  vue.js - ...·  1 年前    · 
八块腹肌的遥控器  ·  Elastic:配置 ...·  1 年前    · 

首先有两台服务器AB,其中A为局域网,B有公网。A配置(内网IP172.19.58.202\系统CentOS7.4),B配置(内网IP172.19.58.201\系统CentOS7.4)。现在A服务器是无法访问公网的,需要使用代理的方法让A通过有公网的B访问公网。

该操作一共可以分为两个部分:一、配置A代理 二、在服务器B上安装代理程序。

配置A代理

该步骤比较简单,直接配置环境变量即可。可以在/etc/profile下配置,这边采用在/etc/profile.d文件夹下配置环境变量。

#cd到/etc/profile.d/目录下
#新建proxy.sh,命名无所谓
[root@ali2 /] cd /etc/profile.d/
[root@ali2 profile.d] vi proxy.sh

proxy.sh里面内容:

#IP为要连接的代理服务器B,端口是要代理的端口,如下的意思该服务器要通过172.19.58.201服务器的端口10991的代理来访问公网
export http_proxy=http://172.19.58.201:10991
#如果要设置https代理,应该添加如下配置,暂未尝试过
#export https_proxy=http://172.19.58.201:10991
#设置不代理的IP或者网址,如下配置,这些请求不会被代理,不支持模糊匹配
export no_proxy="127.0.0.1, localhost, 172.19.58.202,172.19.58.201"

然后source /etc/profile,再使用指令echo $http_proxy,如果能打印出相关代理信息说明操作成功。

[root@ali2 profile.d] echo $http_proxy
http://172.19.58.201:10991

在服务器B上安装代理程序

方式一:使用squid

#安装squid,这里采用yum的安装方式
[root@ali1 ~] yum install -y squid
#cd到配置文件目录下
[root@ali1 ~] cd  /etc/squid/
#备份原始配置文件
[root@ali1 ~] cp squid.conf squid.conf_bak
#修改配置文件
[root@ali1 squid]# vi squid.conf

squid.conf配置文件修改内容如下

#将http_access deny all注释修改为http_access allow all
#http_access deny all
http_access allow all
# 修改端口为代理的端口
http_port 10991
#检查语法是否错误
[root@ali1 squid] squid -k parse
#初始化缓存空间
[root@ali1 squid] squid -z
[root@ali1 squid] 2018/12/05 13:58:56 kid1| Set Current Directory to /var/spool/squid
2018/12/05 13:58:56 kid1| Creating missing swap directories
2018/12/13:58:56 kid1| No cache_dir stores are configured.
#启动squid
[root@ali1 squid] service squid start
Redirecting to /bin/systemctl start squid.service
#检查端口是否开启成功
[root@ali1 squid]# netstat -an | grep 10991
tcp6       0      0 :::10991                :::*                    LISTEN     

测试,使用wget baidu.com或curl www.baidu.com 测试内网服务器能否访问外网

[root@ali2 ~] wget baidu.com
--2018-12-05 14:07:48--  http://baidu.com/
Connecting to 172.19.58.201:10991... connected.
Proxy request sent, awaiting response... 200 OK
Length: 81 [text/html]
Saving to: ‘index.html.1’
100%[=================================================================================================================================>] 81          --.-K/s   in 0s      
2018-12-05 14:07:48 (20.7 MB/s) - ‘index.html.1’ saved [81/81]

方式二:使用nginx

cd /etc/profile.d/
vi proxy.sh
#####################
export http_proxy=http://172.19.58.201:10991
export no_proxy="127.0.0.1, localhost, 172.19.58.202,172.19.58.201"
#####################
source /etc/profile

服务器B(squid方法)

yum install -y squid
cd  /etc/squid/
cp squid.conf squid.conf_bak
vi squid.conf
#########################################
#将http_access deny all注释修改为http_access allow all,如果觉得不安全可以自行搜索配置白名单
#http_access deny all
http_access allow all
# 修改端口为代理的端口
http_port 10991
#############################################
service squid start
结束:开始测试
#因为只设置了http代理所以ping是不起作用的
curl www.baidu.com
背景首先有两台服务器AB,其中A有无外网,B有外网。A配置(内网IP172.19.58.202\系统CentOS7.4),B配置(内网IP172.19.58.201\系统CentOS7.4)。现在A服务器是无法访问外网的,需要使用代理的方法让A通过有外网的B访问外网。该操作一共可以分为两个部分:一、配置A代理 二、在服务器B上安装代理程序。配置A代理该步骤比较简单,直接配置环境变量...
通俗的理解ip是什么 对于ip,大家并不陌生,在网络访问中,我们会经常使用到,那么ip是什么呢?其实如同我们的身份证一般,ip就是我们在网络中的身份证,具有唯一性,用于标识我们的身份。我们平时使用http协议对某个域名进行访问,如www.baidu.com,本质即为对域名绑定的ip进行访问公网与内网中的ip 一般我们会将网络划分公网与内网。 在公网中,ip是全球唯一的,不会在公网中出现重复的...
事件起因——多台演示环境服务器(Windows Server2016)通过域名从正常访问变为无法访问 首先排查寻找问题原因: 1.登录服务器检查nginx与服务皆正常,并通过127.0.0.1访问正常 2.网络:通过公司内网,公网设置代理与手机端流量皆不可访问,排除网络原因 3.域名解析:联系公司信息中心检查域名解析是否正常——正常 4.登录服务器通过多次尝试后发现通过127.0.0.1与loca...
之前上学就一直学习过局域网ip和公网ip NAT协议 NAT(Network Address Translation,网络地址转换)是1994年提出的。当在专用网内部的一些主机本来已经分配到了本地IP地址(即仅在本专用网内使用的专用地址),但现在又想和因特网上的主机通信(并不需要加密)时,可使用NAT方法。 Rinetd是为在一个Unix和Linux操作系统中为重定向传输控制协议(TCP)连接的一个工具。Rinetd是单一过程的服务器,它处理任何数量的连接到在配置文件etc/rinetd中指定的地址/端口对。尽管rinetd使用非闭锁I/O运行作为一个单一过程,它可能重定向很多连接而不对这台机器增加额外的负担。 wget http://www.boutell. 1. 在局域网服务器上安装并配置一个支持跨域访问的http服务,如Apache、Nginx等。 2. 在http服务配置文件中添加跨域访问的配置项,如设置Access-Control-Allow-Origin等。 3. 在局域网服务器上启动http服务,并监听指定的端口号。 4. 在访问跨域资源的客户端(如浏览器)中,使用XMLHttpRequest对象或fetch API等进行跨域访问。 5. 在跨域访问的请求头中添加必要的参数,如Origin、Access-Control-Allow-Origin等。 6. 根据http服务的配置,检查请求头中的参数是否符合要求,如果符合,则允许跨域访问。 注意事项: 1. 由于跨域访问涉及到网络安全问题,因此需要确保跨域访问的安全性。 2. 在跨域访问时,要注意处理可能出现的跨域请求头和响应头中的安全问题。 3. 如果局域网服务器上的http服务是基于HTTPS协议的,还需要考虑证书的安全性问题。