搭建自己的代理服务 proxy nginx squid ss5 s(shadow)s(socks)
1. nginx (forward)
nginx自己熟悉,经常用来做负载均衡的反向代理, 这里搭建一个正向代理(forward)
wget http://www.openssl.org/source/openssl-0.9.8zg.tar.gz
wget http://zlib.net/zlib-1.2.8.tar.gz
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.36.tar.gz
wget http://nginx.org/download/nginx-1.8.0.tar.gz
cd penssl-1.0.1p
./configure & make & make install
cd ../
cd zlib-1.2.8
./configure & make & make install
cd ../
cd pcre-8.37
./configure & make & make install
cd ../
cd nginx-1.8.0
./configure --prefix=/data/nginx --with-http_ssl_module --with-pcre=../pcre-8.37 --with-zlib=../zlib-1.2.8 --with-openssl=../openssl-1.0.1p
make
make install
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
nginx/conf/nginx/nginx.conf
server {
resolver 8.8.8.8;
listen 9088;
access_log logs/proxy.log main;
location / {
proxy_pass http://$host$request_uri;
proxy_set_header Host $http_host;
proxy_buffers 256 4k;
proxy_max_temp_file_size 0k;
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
对于http网站还行,但是https访问就不行了。作为 web server nginx 当然是可以处理 ssl 的,但作为 proxy 则是不行的。因为 nginx 不支持 CONNECT,收到 “CONNECT /:443 HTTP/1.1” 后会报一个包含“client sent invalid request while reading client request line,” 的错误。因为 CONNECT 是正向代理的特性,据说也没有计划支持。nginx作者建议使用squid。
2. squid
安装配置完成后,打开http端口即可,使用squid访问http网站也没问题,但是在配置https时没有成功,最后决定使用ss5。
REF:
http://www.cnblogs.com/mchina/p/3812190.html
3. ss5
yum -y install pam-devel openldap-devel openssl-devel
yum -y install gcc gcc-c++ automake make pam-devel openldap-devel cyrus-sasl-devel
#wget http://jaist.dl.sourceforge.net/project/ss5/ss5/3.8.9-6/ss5-3.8.9-6.tar.gz
wget http://jaist.dl.sourceforge.net/project/ss5/ss5/3.8.9-8/ss5-3.8.9-8.tar.gz
tar -xzvf ss5-3.8.9-6.tar.gz
cd ss5-3.8.9
./configure
make
make install
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
修改配置文件
vi /etc/opt/ss5/ss5.conf
auth 0.0.0.0/0 – -
改为
auth 0.0.0.0/0 – u
permit – 0.0.0.0/0 – 0.0.0.0/0 – – – – -
改成为
permit u 0.0.0.0/0 – 0.0.0.0/0 – – – – -
cat /etc/opt/ss5/ss5.passwd
#用户 密码
e.g:
`echo "myname a123456" > /etc/opt/ss5/ss5.passwd`
#启动socket 5
chmod u+x /etc/rc.d/init.d/ss5
chkconfig --add ss5 //可选
chkconfig ss5 on //可选
service ss5 start
#查看是否启动
netstat -lntp | grep ss5
然后在 aws 安全组管理中打开 1080 端口即可
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
使用ss5终于可以访问http+https了,但是有一个https网站访问不了,还没找到原因,然后换用了ss。
4. Apache Traffic Server
5. s(shadow)s(socks)
Debian / Ubuntu:
apt-get install python-pip python-m2crypt
pip install shadowsocks
- 1
- 2
CentOS:
yum install m2crypto python-setuptools
easy_install pip
pip install shadowsocks
pip list | grep sh
- 1
- 2
- 3
- 4
vi /etc/shadowsocks.json
{
"server":"0.0.0.0",
"server_port":8388,
"local_address": "127.0.0.1",
"local_port":11080,
"password":"12651321",
"timeout":300,
"method":"aes-256-cfb",
"fast_open": false,
"workers": 1
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
如果要在后台运行, 请使用 supervisor。
从 Shadowsocks 2.6 开始,你可以直接在后台运行 Shadowsocks,无需 Supervisor 。 这样省掉了 Supervisor 进程占用的内存。
ssserver -c /etc/shadowsocks.json
ssserver -c /etc/shadowsocks.json -d start
ssserver -c /etc/shadowsocks.json -d stop
- 1
- 2
- 3
- 4
这个配置好后最后终于可以正常使用所有的http+https了,如果自己没有AWS机器搭建可以先使用 【免费的(有流量限制)】 , 下载地址:https://pypi.python.org/pypi/shadowsocks/2.8.2, https://shadowsocks.org/en/download/clients.html,文档:https://github.com/shadowsocks/shadowsocks/wiki, 在推荐个直接F(an)Q(aing)的:https://github.com/getlantern/forum
现在注册AWS可以获取12个月的免费低配置服务(EC2),作为代理使用足够了,不要注册AWS中国,而是切换成英文版本,注册英文的,然后选择非大陆区域(美国、新加坡、日本都可以),然后在新建ec2并安装ss服务端即可使用。
OS X ShadowsocksX / GoAgentX / shadowsocks-gui
iOS MobileShadowSocks (需要越狱) / shadowsocks-iOS (一个自带代理的浏览器)
OpenWRT shadowsocks-libev / shadowsocks-tiny
REF:
搭建自己的代理服务 proxy nginx squid ss5 s(shadow)s(socks)的更多相关文章
- 用Docker搭建一个支持https的nginx代理服务
用Docker搭建一个支持https的nginx代理服务 说明:本文所提的服务只是作者平常测试使用,可能含有未知bug或不成熟的解决方案,仅供参考,请不要用于正式环境,当然,使用过程中有任何问题欢迎提 ...
- centos7 下 apache nginx squid https正向代理 代理服务器
apache yum install httpd mod_ssl -y vim /etc/httpd/conf.d/ssl.conf Listen https <VirtualHost *:&g ...
- python服务器环境搭建Flask,uwsgi和nginx
python服务器环境搭建Flask,uwsgi和nginx 环境配置 服务器配置 [部署系统环境Ubuntu] 使用python的Flask框架搭建好网页后台后,便要开始将网站部署到服务器平台了. ...
- 【转载】vue-cli搭建的环境,用nginx做代理服务器,访问时显示:Invalid Host header
来源:https://blog.csdn.net/Cookysurongbin/article/details/86077241 vue-cli搭建的环境,用nginx做代理服务器,访问时显示:Inv ...
- 用Nginx搭建CDN服务器方法-开启Nginx缓存与镜像,自建图片服务器
利用Nginx的proxy_cache搭建缓存服务器一:编译ngx_cache_purge1.Nginx的Proxy_cache是根据Key值md5哈希存储缓存,支持任意的Key,例如你可以根据”域名 ...
- 正向代理 forward proxy、反向代理 reverse proxy、透明代理 transparent proxy nginx反向代理原理和配置讲解 防止外部客户机获取内部内容服务器的重定向 URL 缓存命中
[大型网站技术实践]初级篇:借助Nginx搭建反向代理服务器 - Edison Chou - 博客园http://www.cnblogs.com/edisonchou/p/4126742.html 图 ...
- linux搭建一个配置简单的nginx反向代理服务器 2个tomcat
1.我们只要实现访问nginx服务器能跳转到不同的服务器即可,我本地测试是这样的, 在nginx服务器里面搭建了2个tomcat,2个tomcat端口分别是8080和8081,当我输入我nginx服务 ...
- miya--图片上传--搭建分布式文件服务器(FastDFS+Nginx)
资料获取(FastDFS+Nginx): 链接:https://pan.baidu.com/s/1kUI5WH5 密码:kzfd 安装rz,sz功能: yum install lrzsz 主攻: 利用 ...
- 在CentOS上搭建最^1024基本的Nginx反向服务器
昨天有过去的同事突然问我,他在CentOS7上试验搭建反向服务器死活不成功.现将最简单的搭建步骤分享下: 0. 环境介绍 本次搭建的集群包括以下服务器 192.168.1.107:nginx反向服务器 ...
随机推荐
- Python之路 - Socketserver实现多并发
Python之路 - Socketserver实现多并发 阅读指引
- k近邻算法(KNN)
k近邻算法(KNN) 定义:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别. from sklearn.model_selection ...
- NTKO OFFICE文档控件
目录 前言 什么是ntko 准备工作 实战演练 总结 一.前言 Web开发中经常需要用到在线处理office文档的功能,现在市面上有一些常用的Web页面调用显示Office的控件技术,用起来很方便. ...
- table-cell http://www.cnblogs.com/StormSpirit/archive/2012/10/24/2736453.html
http://www.cnblogs.com/StormSpirit/archive/2012/10/24/2736453.html
- 游戏AI技术
[Unity3D人工智能编程精粹] 1.运动层.决策层.战略层. 运动层.决策层包含的算法是针对单个角色的,战略层是针对小队乃至更大规模群体的. 导航和寻路是运行层的主要任务. 决策层决定角色下一时间 ...
- Promise.then
[Promise.then] 1.If onFulfilled returns a promise, the return value of then will be resolved/rejecte ...
- JMeter学习(五)集合点(转载)
转载自 http://www.cnblogs.com/yangxia-test JMeter也有像LR中的集合点,本篇就来介绍下JMeter的集合点如何去实现. JMeter里面的集合点通过添加定时器 ...
- ASP.NET 登录验证 ihttpmoudle
问题: 1.iis版本不同(IIS7.0,应用程序池采用的是集成模式,换成经典模式才起作用.) 在 IIS 7 以下的版本中,应用以下配置: <system.web> <httpMo ...
- MyEclipse 10 注册码 破解 到期限制
转载 https://blog.csdn.net/oJinSeNianHua1/article/details/69226524 把破解界面中的ACTIVATION_KEY复制到弹出的窗体“Enter ...
- xshell 5 书写汉字乱码
使用win10安装xshell5后发现使用xshell连接虚拟机后,能识别中文但是无法输入中文了 控制面板--语言 删除除中文输入法之外的所有输入法和美式键盘 然后就可以正常输入中文了,为了英 ...