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

最新文章

  1. Excel文件下载功能
  2. Oracle 英文 非标准格式 日期 格式化
  3. sh脚本异常:/bin/sh^M:bad interpreter: No such file or directory
  4. iOS Sonar 集成流程
  5. C#微信公众平台账号开发,从零到整,步骤详细。
  6. atitit.信息安全的控制总结o7
  7. 【转】全面解析Unity3D自动生成的脚本工程文件
  8. PHP的UTF-8中文转拼音处理类(性能已优化至极致)
  9. Java static block static constructor , static field
  10. ExtJs学习笔记之学习小结LoginDemo
  11. 使用七牛云存储----大家自己的图床[python]
  12. posix thread线程
  13. 在Thinkphp3.2 中使用PHPMailer 发送邮件
  14. 优化Webpack构建性能的几点建议
  15. layui的几个简单使用(简单弹窗,加载效果,移除加载效果)
  16. Android 面试100问- 0序0
  17. vue的渐进式理解
  18. Spring4 mvc+maven 框架搭建(2)
  19. Javascript异步编程之setTimeout与setInterval详解分析(一)
  20. 简说Spring事务

热门文章

  1. E20190402-hm
  2. win7 mongod不是内部命令
  3. HihoCoder 1121二分图一•二分图判定
  4. [Xcode 实际操作]七、文件与数据-(18)使用MarkMan与设计师进行心灵沟通
  5. PHP不重新编译,单独添加模块扩展的方法
  6. Java - 怎么通过环境变量来切换jdk版本
  7. 运行nodejs项目报Process finished with exit code 1 错误
  8. AJPFX关于VIM的常用快捷键
  9. 终端工具Xmanager使用技巧
  10. 从零开始利用vue-cli搭建简单音乐网站(六)