使用 Apache httpd 搭建 HTTP/HTTPS (正向)代理服务器
来源:互联网 发布:上海财经大学考研知乎 编辑:程序博客网 时间:2024/06/15 17:49
为什么选择 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代理服务器
- 在windows配置Apache httpd代理服务器
- Apache搭建代理服务器
- http、httpd、https、浏览工具
- Mac Apache服务器搭建、Tomcat(http)服务器搭建、Tomcat(https)服务器搭建
- httpd(apache)--知识总结(3)--https
- LeetCode 134. Gas Station
- [LeetCode] Climbing stairs 爬楼梯问题
- 代码块
- spark-通过StructType直接指定Schema
- 字符串的排列(草稿)
- 使用 Apache httpd 搭建 HTTP/HTTPS (正向)代理服务器
- PLY文件格式
- CacheManager运行原理流程
- (二)、mysql之数据库的操作
- servlet乱码解决的小秘密
- 反思自我
- 字符串拆分成句子
- 121. Best Time to Buy and Sell Stock
- PHP变量