linux设置http/https proxy及忽略proxy的方法
msys2设置网络代理
在文件 .bashrc 中添加
export http_proxy="proxy IP:port"
如
export http_proxy="192.168.0.1:8080"
export https_proxy="192.168.0.1:8080"
一,场景:
有些linux服务器处于内网,并且没有公网ip,故要想与外网进行http/https通信只能通过nat或者加proxy的方式。nat服务器有网段的限制,而http/https proxy代理则没有,使用起来也方便。
linux系统设置http/https proxy的方法,在/etc/bashrc或者/etc/profile中添加如下环境变量:
export http_proxy=http://1.1.1.1:8082
export https_proxy=http://1.1.1.1:8082
二,问题
使用如上配置http/https proxy的时候遇见两个问题:
1,本机去访问一个没有域名解析但是绑定hosts文件的域名的时候,导致访问失败
2,php-fpm中跑的php代码访问外网有域名解析的接口,访问失败
三,问题原因
1,应该是由于系统环境变量的优先级别高于/etc/hosts文件,导致本机去访问一个没有域名解析但是绑定hosts文件的域名的时候仍然走http/https代理,而代理server访问不到域名所绑定的ip(例如这个ip是内网ip,但是加的代理是公网的代理)从而导致访问失败。
2,php-fpm默认没有加载到系统的http/https proxy的环境变量设置,需要修改php-fpm的配置来解决问题。
四,问题解决
1,对那些没有域名解析通过绑定hosts文件来访问的域名,不让其走http/https代理
在/etc/bashrc或者/etc/profile中添加如下环境变量:
export no_proxy='a.test.com,127.0.0.1,2.2.2.2'
2,添加php-fpm关于env的如下配置,然后重启php-fpm即可:
env[http_proxy] = "http_proxy=http://1.1.1.1:8082"
env[https_proxy] = "https_proxy=http://1.1.1.1:8082"
env[no_proxy] = "a.test.com,127.0.0.1,2.2.2.2"
五,扩展
1,用过的http/https正向proxy软件:
nginx
tinyproxy(简单好用,支持http/https协议)
squid(稳定简单好用,支持http/https协议)
2,squid 3.x正向proxy配置:
# cat /etc/squid/squid.conf
http_access allow all
http_port 8443
cache deny all
linux设置http/https proxy及忽略proxy的方法的更多相关文章
- 〖Linux〗Ubuntu设定Proxy及忽略Proxy
1. 设定代理:. ~/.proxyenv #!/bin/sh # for terminal export proxyserveraddr=123.123.123.123 export proxyse ...
- Linux wget下载https类型文件报错解决方法 转自老左博客
原文链接:http://www.laozuo.org/3648.html 一般我们远程调用下载文件直接用wget就可以,一般文件路径类型是http.如果有遇到是https就会下载出错,稍微不注意的新手 ...
- Linux设置环境变量PATH路径的两种方法
echo 'export dataPath=$HOME/data/pre' >> ~/.bash_profile 路径即刻生效: . .bash_profile 或 source .bas ...
- Linux IP代理筛选系统(shell+proxy)
代理的用途 其实,除了抓取国外网页需要用到IP代理外,还有很多场景会用到代理: 通过代理访问一些国外网站,绕过被某国防火墙过滤掉的网站 使用教育网的代理服务器,可以访问到大学或科研院所的内部网站资源 ...
- 深入理解Proxy 及 使用Proxy实现vue数据双向绑定
阅读目录 1.什么是Proxy?它的作用是? 2.get(target, propKey, receiver) 3.set(target, propKey, value, receiver) 4.ha ...
- linux设置预留端口号,防止监听端口被占用 ip_local_reserved_ports
1. 背景 linux服务器启动时,会对指定的端口进行监听bind,如果同一个机器上这个端口已经被使用,则监听失败,程序无法启动. linux客户端连接服务器accept时,系统会分配本地临时端口用于 ...
- linux 设置分辨率(转)
linux 设置分辨率 如果你需要在linux上设置显示屏的分辨率,分两种情况:分辨率模式存在与分辨率模式不存在,具体如下. 1,分辨率模式已存在 1)如何查询是否存在: 图形界面:在System S ...
- Linux设置编译器环境变量
Linux设置编译器环境变量 https://jingyan.baidu.com/article/9f7e7ec0bb22aa6f29155453.html Linux添加环境变量与GCC编译器添加I ...
- Linux设置程序开机自启动,系统命令chkconfig及linux /etc/rc.d/目录的详解
整理了linux下程序开启几种方式,转载相关博客做统一记录 <linux程序设置开机自启动>转载自:https://www.cnblogs.com/flcz/p/7691532.html ...
随机推荐
- CodeForces 761C 【DP】
总结:能这么DP就这么写! 多练位运算标记. #include<bits/stdc++.h> using namespace::std; const int N=55; const int ...
- HihoCoder 1121二分图一•二分图判定
背景: 个名字,表示这两个人有一场相亲.由于姑姑年龄比较大了记性不是太好,加上相亲的人很多,所以姑姑一时也想不起来其中有些人的性别.因此她拜托我检查一下相亲表里面有没有错误的记录,即是否把两个同性安排 ...
- 根运动 (Root Motion) – 工作原理
http://blog.csdn.net/myarrow/article/details/45505085 1. 基本概念 在Unity3D动画中,模型的位置.角度经常会发生变化,我们需要决定是否将模 ...
- 笔记-JavaWeb学习之旅12
会话技术 Cookie:客户端会话技术,将数据保存到客户端 package com.data.Cookie; import javax.servlet.ServletException; import ...
- webpack结合vue使用(五)
webpack结合vue使用步骤如下: 安装 vue 的包 : cnpm i vue -S 由于在 webpack 中,锐减使用 .vue 这个组件模板文件定义组件,所以需要安装能解析这种文件的第三方 ...
- Linq 知识总结
一.说明: LINQ,语言集成查询(Language INtegrated Query)是一组用于c#和Visual Basic语言的扩展.它允许编写C#或者Visual Basic代码以查询数据库相 ...
- Centos 7.x 搭建 Zabbix3.4
前提要安装了LAMP(官方推荐环境) LNMP也可以 一.安装.配置Zabbix3.4 1:安装zabbix_RPM包 rpm -i https://repo.zabbix.com/zabbix/3. ...
- VUE循环菜单
- github添加版本号
1.将官方的库clone下来 http://github.com/xxx.xxx.git 2.修改要修改的地方 3.git add src 4.commit -m 'xxx' 5.git push ...
- springMVC-上传图片
SpringMVC文件上传与下载 上传图片 配置多媒体文件解析器 配置虚拟目录 在tomcat上配置图片虚拟目录,在tomcat下conf/server.xml中添加: <Context doc ...