使用 Apache httpd 搭建 HTTP/HTTPS/FTP (正向)代理服务器
来源:互联网 发布:淘宝付款失败钱扣了 编辑:程序博客网 时间:2024/06/01 20:15
为什么选择 Apache httpd
事实上代理服务器用的最多的还是 squid, 因为对它不熟,还是想在 Nginx 和 Apache httpd 之间选,但是 nginx 生来是用作反向代理(Reverse Proxy)的,它对正向代理(Forward Proxy)的支持并不好,因此选择 Apache httpd.
Apache httpd 不仅支持正向代理和反向代理,而且还支持 HTTPS, FTP 的代理。
正向代理和方向代理
正向代理:代理客户端,由客户端搭建,访问任意网站(Nginx 在此处的配置并不灵活,因为 Nginx 天生是为反向代理准备的)。
反向代理:代理服务端,由服务端搭建,访问的网站就是指定的服务端网站,通常被用作服务端的防火墙和负载均衡器。
Forward Proxies and Reverse Proxies/Gateways
安装版本
httpd-2.4.6-40.el7.centos.x86_64
配置 mod_proxy
在 /etc/httpd/conf.modules.d/00-proxy.conf 中增加如下两行:
ProxyRequests OnProxyVia On
增加完之后的完整内容:
# This file configures all the proxy modules:LoadModule proxy_module modules/mod_proxy.soLoadModule lbmethod_bybusyness_module modules/mod_lbmethod_bybusyness.soLoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.soLoadModule lbmethod_bytraffic_module modules/mod_lbmethod_bytraffic.soLoadModule lbmethod_heartbeat_module modules/mod_lbmethod_heartbeat.soLoadModule proxy_ajp_module modules/mod_proxy_ajp.soLoadModule proxy_balancer_module modules/mod_proxy_balancer.soLoadModule proxy_connect_module modules/mod_proxy_connect.soLoadModule proxy_express_module modules/mod_proxy_express.soLoadModule proxy_fcgi_module modules/mod_proxy_fcgi.soLoadModule proxy_fdpass_module modules/mod_proxy_fdpass.soLoadModule proxy_ftp_module modules/mod_proxy_ftp.soLoadModule proxy_http_module modules/mod_proxy_http.soLoadModule proxy_scgi_module modules/mod_proxy_scgi.soLoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.soProxyRequests OnProxyVia On
配置参考至 mod_proxy 官方文档
代理服务器访问控制
ProxyRequests Directive
In order to get the functionality of proxying HTTP or FTP sites, you need also mod_proxy_http or mod_proxy_ftp (or both) present in the server.
In order to get the functionality of (forward) proxying HTTPS sites, you need mod_proxy_connect enabled in the server.
- 开启 HTTP 代理 - enable mod_proxy_http
- 开启 FTP 代理 - enable mod_proxy_ftp
- 开启 HTTPS 代理 - enable mod_proxy_connect
测试
测试 HTTP 和 HTTPS 代理
curl -x "127.0.0.1:8998" http://httpbin.org/getcurl -x "127.0.0.1:8998" https://httpbin.org/get
- 使用 Apache httpd 搭建 HTTP/HTTPS/FTP (正向)代理服务器
- 使用 Apache httpd 搭建 HTTP/HTTPS (正向)代理服务器
- Nginx搭建HTTP正向代理服务器
- Windows下Apache httpd搭建代理服务器
- 使用apache搭建代理服务器
- 使用Squid搭建HTTPS代理服务器
- apache httpd httpd.conf php php.ini url http https
- 使用nginx搭建http代理服务器
- 使用Nginx搭建Http代理服务器
- 使用nginx搭建http代理服务器
- 使用nginx搭建http代理服务器
- 使用nginx搭建http代理服务器
- 使用Https隧道穿越Http代理服务器
- FTP -- 使用Apache FtpServer搭建FTP服务器
- 在windows配置Apache httpd代理服务器
- Apache搭建代理服务器
- http、httpd、https、浏览工具
- Mac Apache服务器搭建、Tomcat(http)服务器搭建、Tomcat(https)服务器搭建
- Cause: java.sql.SQLException: Cannot execute statement: impossible to write to binary log
- jni 调用
- 快速排序
- python 2.x和3.x中maketrans和translate函数的使用
- 开发中关于手机的听筒模式的设置
- 使用 Apache httpd 搭建 HTTP/HTTPS/FTP (正向)代理服务器
- iOS学习笔记37-时间和日期计算
- 将中文数字表示的数值转化成阿拉伯数字,如“三亿零六百零七万零九百零六=306070906”
- hdu 1232
- Java学习笔记<MD>
- java 聊天室之 传送图片文字等功能的实现
- SDUT 2603:Rescue The Princess
- jQuery中常用网页效果应用
- 【HDU】 1034 Candy Sharing Game