官方文档 http://httpd.apache.org/docs/2.4/
分为 docker环境搭建,Windows 环境搭建
==============================================================================================
docker环境搭建
1、拉取镜像 docker pull httpd
2、新建容器把apache2/conf 拷贝到宿主机
#把本地目录 ~/apache2/conf 挂载到容器的/data 目录下
sudo docker run -it -v ~/apache2/conf:/data httpd bash
#拷贝配置文件到宿主机挂载的目录中
root@b95a619ed735:/usr/local/apache2# cp -r conf/* /data/
#退出容器 然后这个容器就没有用了
root@b95a619ed735:/usr/local/apache2# exit
修改配置文件
第67行
Listen 80
改为需要使用的端口或 IP:port 形式
打开需要加载的模块
LoadModule access_compat_module modules/mod_access_compat.so
LoadModule lbmethod_bybusyness_module modules/mod_lbmethod_bybusyness.so
LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so
LoadModule lbmethod_bytraffic_module modules/mod_lbmethod_bytraffic.so
LoadModule lbmethod_heartbeat_module modules/mod_lbmethod_heartbeat.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_html_module modules/mod_proxy_html.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule xml2enc_module modules/mod_xml2enc.so
开启代理,可以参考
http://httpd.apache.org/docs/trunk/mod/mod_proxy.html
https://httpd.apache.org/docs/2.4/mod/mod_authz_core.html#require
访问无密码的配置需要加入这段
ProxyRequests On
<Proxy *>
Require all granted
</Proxy>
访问有密码的配置需要加入这段
ProxyRequests On
<Proxy *>
AuthType Basic
AuthName "Restricted Resource"
AuthBasicProvider file
AuthUserFile "C:/Apache24/bin/.htpasswd"
Require valid-user
</Proxy>
有密码的情况需要生成配置文件 "C:/Apache24/bin/.htpasswd" 在C:/Apache24/bin目录下执行命令
htpasswd -bc C:\Apache24\bin\.htpasswd admin 123456
用户名:admin
密码:123456
#新建容器,把配置文件挂载进去,把端口映射出来
sudo docker run -itd -v ~/apache2/conf:/usr/local/apache2/conf -p 8888:80 --name httpd httpd
docker httpd 代理服务器 这就搭建好了
====================================================================================
Windows x64 环境
需要安装环境依赖 Visual C++ 2017 x64
https://aka.ms/vs/15/release/VC_redist.x64.exe
一、下载Apache Haus
https://www.apachehaus.com/cgi-bin/download.plx
64位系统下载连接 https://www.apachehaus.com/cgi-bin/download.plx?dli=jZkRX50UNVTT6h2KSdkSzAlVOpkVFVFdSdkSNp1Z
解压后有个 readme_first.html 里面有安装方法
二、修改配置文件
但是这里需要先修改一下配置文件,里面没有说明
打开 Apache24/conf/httpd.conf
第39行
Define SRVROOT "/Apache24"
修改为Apache本地路径 官方建议放在磁盘根目录 所以我放在 c:\Apache24
第67行
Listen 80
改为需要使用的端口或 IP:port 形式
打开需要加载的模块
LoadModule access_compat_module modules/mod_access_compat.so
LoadModule lbmethod_bybusyness_module modules/mod_lbmethod_bybusyness.so
LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so
LoadModule lbmethod_bytraffic_module modules/mod_lbmethod_bytraffic.so
LoadModule lbmethod_heartbeat_module modules/mod_lbmethod_heartbeat.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_html_module modules/mod_proxy_html.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule xml2enc_module modules/mod_xml2enc.so
开启代理,可以参考
http://httpd.apache.org/docs/trunk/mod/mod_proxy.html
https://httpd.apache.org/docs/2.4/mod/mod_authz_core.html#require
访问无密码的配置需要加入这段
ProxyRequests On
<Proxy *>
Require all granted
</Proxy>
访问有密码的配置需要加入这段
ProxyRequests On
<Proxy *>
AuthType Basic
AuthName "Restricted Resource"
AuthBasicProvider file
AuthUserFile "C:/Apache24/bin/.htpasswd"
Require valid-user
</Proxy>
有密码的情况需要生成配置文件 "C:/Apache24/bin/.htpasswd" 在C:/Apache24/bin目录下执行命令
htpasswd -bc C:\Apache24\bin\.htpasswd admin 123456
用户名:admin
密码:123456
三、安装服务
管理员运行cmd
执行 httpd -k install
卸载 httpd -k uninstall
启动 httpd -k start
停止 httpd -k stop
重启 httpd -k restart
在手机上或电脑上开启代理:服务器IP:设置的端口
就可以使用代理了