Official document http://httpd.apache.org/docs/2.4/
Divided into docker environment construction, Windows environment construction
==============================================================================================
Docker environment construction
1. Pull the mirror docker pull httpd
2. Create a new container and copy apache2/conf to the host
#把本地目录 ~/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 proxy server is set up
====================================================================================
Windows x64 environment
Need to install the environment to depend on Visual C++ 2017 x64
https://aka.ms/vs/15/release/VC_redist.x64.exe
1. Download Apache Haus
https://www.apachehaus.com/cgi-bin/download.plx
64-bit system download link https://www.apachehaus.com/cgi-bin/download.plx?dli=jZkRX50UNVTT6h2KSdkSzAlVOpkVFVFdSdkSNp1Z
After decompression, there is a readme_first.html with installation method
Two, modify the configuration file
But here you need to modify the configuration file, there is no description
Open 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
3. Installation service
Administrator runs cmd
Execute httpd -k install
Uninstall httpd -k uninstall
Start httpd -k start
Stop httpd -k stop
Restart httpd -k restart
Open the proxy on the phone or computer: Server IP: Port set
You can use the proxy