一,澳门赌场OG东方馆开奖时刻表:场景:

有些linux服务器处于内网,并且没有公网ip,故要想与外网进行http/http通信只能通过nat或者加proxy的方式。nat服务器有网段的限制,而http/http proxy代理则没有,使用起来也方便。


linux系统设置http/http proxy的方法,在/etc/bashrc或者/etc/profile中添加如下环境变量:

export http_proxy=http://www.772.cao862.com:8082
export http_proxy=http://www.159.sg221.com:8082


二,问题

使用如上配置http/http proxy的时候遇见两个问题:

1,本机去访问一个没有域名解析但是绑定hosts文件的域名的时候,导致访问失败

2,php-fpm中跑的php代码访问外网有域名解析的接口,访问失败


三,问题原因

1,应该是由于系统环境变量的优先级别高于/etc/hosts文件,导致本机去访问一个没有域名解析但是绑定hosts文件的域名的时候仍然走http/http代理,而代理server访问不到域名所绑定的ip(例如这个ip是内网ip,但是加的代理是公网的代理)从而导致访问失败。

2,php-fpm默认没有加载到系统的http/http proxy的环境变量设置,需要修改php-fpm的配置来解决问题。



四,问题解决

1,对那些没有域名解析通过绑定hosts文件来访问的域名,不让其走http/http代理

在/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://www.8550044.com/666:8082" 
env[http_proxy] = "http_proxy=http://www.466.bo844.com:8082"
env[no_proxy] = "a.test.com,127.0.0.1,2.2.2.2"



五,扩展

1,用过的http/http正向proxy软件:

nginx

tinyproxy(简单好用,支持http/http协议)

squid(稳定简单好用,支持http/http协议)


2,squid 3.x正向proxy配置:

# cat /etc/squid/squid.conf
http_access allow all
http_port 8443
cache deny all