Apache httpd proxy server construction

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

Guess you like

Origin blog.csdn.net/wuchenlhy/article/details/103514675