Windows下 Apache 搭建代理服务器并设置代理账户密码

2,422 阅读3分钟

1.下载Windows下的Apache

a.Apache下载window压缩包

下载链接:https://httpd.apache.org/docs/current/platform/windows.html#down
选择ApacheHaus 进入链接下载http://www.apachehaus.com/cgi-bin/download.plx

image.png

image.png

2.把文件放到windows服务器上进行配置

a.设置代理服务器

修改 D:\Apache24\conf\httpd.conf 文件 取消下面注释(把#去除)

#LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_connect_module modules/mod_proxy_connect.so
#LoadModule proxy_http_module modules/mod_proxy_http.so
#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so

然后在尾部添加上

ProxyRequests On

修改端口(按需操作)

Listen 9000

b.设置代理服务器账户密码

配置密码,账户文件 进入 D:\Apache24\bin 目录下运行cmd 命令 生成的文件会在bin 目录下

D:\Apache24\bin>htpasswd -c password.file xxxx(代理账户)
New password: ********(代码密码)
Re-type new password: ********
Adding password for user xxxx

创建文件 group.file 写入

usergroup: xxxx(代理账户)

修改 D:\Apache24\conf\httpd.conf 文件

ProxyVia On
<Proxy *>
    Require all granted
    AuthName "Apachex"
    AuthUserFile "D:\Apache24\bin\password.file"
    AuthGroupFile "D:\Apache24\bin\group.file"
    Require group usergroup
</Proxy>
# apache 配置语法 注意点
2.2上的配置
Order allow,deny
Allow from all

2.4上的配置
Require all granted

3.启动服务

进入 D:\Apache24\bin 目录下运行cmd 命令

httpd -k install # 下载服务
httpd -k start   # 启动服务
httpd -k stop    # 停止服务

或者 直接双击 D:\Apache24\bin 目录下的 ApacheMonitor.exe 这个是Apache服务管理器

image.png 如果启动失败提示

(OS 10013)以一种访问权限不允许的方式做了一个访问套接字的尝试。  : AH00072: make_sock: could not bind to address [::]:443
(OS 10013)以一种访问权限不允许的方式做了一个访问套接字的尝试。  : AH00072: make_sock: could not bind to address 0.0.0.0:443
AH00451: no listening sockets available, shutting down
AH00015: Unable to open logs

这里的443是apache-ssl的端口 解决方案:

进入Apache的安装目录,找到 httpd-ahssl.conf httpd-ssl.conf 
(我的在 D:\Apache24\conf\extra 这个目录下)
修改 Listen 443 
修改为 Listen 440(或者其他不常用的端口)

D:Apache24\logs 下是运行日志可以用来查看错误 ====== 分割线 ======

给Apache web 添加账户和密码

把 D:\Apache24\conf\httpd.conf 配置信息中修改 AllowOverride

# It can be "All", "None", or any combination of the keywords:
AllowOverride All

创建web访问账户

D:\Apache24\bin>htpasswd -c .htpasswd xxxx
New password: ********
Re-type new password: ********
Adding password for user xxxx

在文件夹 D:Apache24\htdocs\ 下创建文件 .htaccess 并写入一下信息 (windows 下无法创建 .htaccess 可以先创建个txt 然后打开 另存为 .htaccess 文件)

AuthName "user,password"
AuthUserFile "D:\Apache24\bin\.htpasswd"(.htpasswd文件存放位置)
AuthType Basic
require valid-user

然后重新启动服务器访问web就要输入账户密码!(相对鸡肋)

.htaccess 配置说明:
1) AuthName:定义提示信息,用户访问时提示信息会出现在认证的对话框中
2) AuthType:定义认证类型,在HTTP1.0中,只有一种认证类型:basic。在HTTP1.1中有几种认证类型,如:MD5
3) AuthUserFile:定义包含用户名和密码的文本文件,每行一对
4) AuthGroupFile:定义包含用户组和组成员的文本文件。组成员之间用空格分开,如:group1:user1 user2
5) require命令:定义哪些用户或组才能被授权访问。如:
      require user user1 user2 (只有用户user1和user2可以访问)
      requires groups group1 (只有group1中的成员可以访问)
      require valid-user (在AuthUserFile指定的文件中的所有用户都可以访问)

代理服务器展示:

image.png Web 访问账户密码展示:

image.png