Apache crea un servidor proxy de Windows

Servidor proxy de compilación Apache

Autor:

blog de zbuger : https://blog.csdn.net/zbuger/article/details/51648048

Apache versión 2.2

Como todos sabemos, Apache es actualmente el mejor servidor HTTP. De hecho, se puede utilizar no solo como servidor, sino también como servidor proxy. Este artículo explica cómo usar Apache para configurar un servidor proxy HTTP.

Este artículo se basará en la versión Win32 de Apache 2.0.47. El método de configuración de la versión anterior de Apache 1.x es ligeramente diferente, pero no se explica aquí.

Instalación de Apache.

Descargue el instalador de Apache de http://www.apache.org y haga doble clic en el instalador para instalarlo. Después de la instalación, inicie el servidor Apache. En este momento, abra IE e ingrese http: // localhost / en la barra de direcciones de IE. Debería poder ver la pantalla de bienvenida de Apache.

httpd.conf

A continuación, modificamos el archivo de configuración de Apache para admitir la función del servidor proxy HTTP. Abra el archivo httpd.conf con un editor de texto.

Primero, agregue el módulo del servidor proxy. Encuentra las siguientes líneas:

#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

Quite el # al frente para hacer efectivo el módulo correspondiente. Luego reinicia Apache. (También puede usar la línea de comando net stop apache2 y luego net start apache2 para reiniciar el servidor). En este momento, Apache debería poder iniciarse normalmente, aunque todavía no es un servidor proxy.

Luego agregamos la siguiente línea al archivo de configuración:

ProxyRequests   On

Luego reinicie Apache nuevamente. En este momento, Apache es el servidor proxy HTTP. Abra IE, seleccione el menú "Herramientas → Opciones de Internet → Conexión → Configuración de LAN", seleccione "Usar un servidor proxy para LAN", y luego complete 127.0.0.1 en la dirección siguiente y 80 en el puerto. Después de completar, confirme. Si puede conectarse a Internet a través de IE en este momento, significa que la configuración del proxy es correcta. (Nota: el puerto 80 aquí es el número de puerto especificado por el comando Escuchar en httpd.conf. Si modifica el comando Escuchar para que Apache escuche otros puertos, realice los cambios correspondientes en la configuración de IE. Además, si usa Para la conexión de acceso telefónico, modifique la configuración del proxy de la conexión de acceso telefónico correspondiente en "Herramientas → Opciones de Internet → Conexión", en lugar de modificar la configuración del proxy LAN)

Control de acceso

A continuación, probamos el control de acceso. Edite httpd.conf y agregue la siguiente configuración:

Permitir y prohibir

<Proxy *>
    Order allow,deny
    Allow from all
    Deny from 127.0.0.1
</Proxy>

Esta configuración significa que todas las computadoras, excepto la computadora local, pueden acceder al agente. Luego reinicia Apache. Intente usar IE para conectarse a Internet nuevamente y recibirá un mensaje similar al siguiente:

Forbidden
You don't have permission to access http://www.google.com/ on this server.

Esto indica que la computadora local no puede utilizar el proxy. Por el contrario, las siguientes configuraciones:

<Proxy *>
    Order deny,allow
    Deny from all
    Allow from 127.0.0.1
</Proxy>

Significa que solo la computadora local puede usar el servidor proxy.

El signo * detrás de la instrucción Proxy indica la dirección de destino a la que el cliente usa el servidor proxy para acceder. En los dos ejemplos anteriores, el signo * representa todas las direcciones, es decir, está prohibido utilizar el servidor proxy para acceder a todas las direcciones.

Prohibir una dirección

Si desea prohibir solo determinadas direcciones, puede consultar el siguiente ejemplo:

<Proxy http://www.google.com/>
    Order deny,allow
    Deny from all
    Allow from 127.0.0.1
</Proxy>

<Proxy http://www.yahoo.co.jp/r/*>
    Order allow,deny
    Allow from all
    Deny from 127.0.0.1
</Proxy>

El ejemplo anterior significa que solo la computadora local tiene permitido acceder a http://www.google.com/ y la computadora local tiene prohibido acceder a los recursos de http://www.yahoo.co.jp/r/. Dado que el comando de proxy de Apache no es compatible actualmente con varias direcciones de destino, lo que significa que no se puede escribir en forma de <Proxy http://www.google.com/ http://www.yahoo.co.jp >, por lo que si Cuando desee restringir varias direcciones de destino, debe utilizar varias instrucciones de proxy.

ProxyBlock

Si desea restringir a todos los usuarios (no solo a algunos usuarios) el acceso a ciertas direcciones, puede usar los comandos de ProxyBlock:

ProxyBlock microsoft co.jp www.google.com

La instrucción anterior bloquea tres tipos de direcciones de destino: direcciones que incluyen microsoft, direcciones que incluyen co.jp y direcciones que incluyen www.google.com. Pero cuando realmente use IE para probar, encontrará que http://www.google.com/ y http://www.google.co.kr/ (sitio de Google Corea) no serán accesibles, pero http: // www. google.co.kr/ no cumple con las reglas de bloqueo anteriores. Esto se debe a que cuando Apache se inicia, realizará una resolución de nombre de dominio en la cadena que parece un nombre de host o un nombre de dominio en la dirección bloqueada. Si la resolución es exitosa, se bloqueará la dirección IP de destino correspondiente. Las direcciones IP de www.google.co.kr y www.google.com son las mismas, por lo que www.google.co.kr también está bloqueado. Además, debido a que Apache intenta resolver nombres de dominio, cuando usa ProxyBlock, el tiempo de inicio de Apache será más largo.

También tenga en cuenta que si escribe ProxyBlock *, no podrá acceder a ninguna dirección a través del servidor proxy.

Agente secundario

Finalmente, presentaré al agente de segundo nivel. Puede utilizar Apache como proxy secundario, es decir, dejar que Apache, que ya es un servidor proxy, se conecte a Internet a través de otros servidores proxy. Agregue el siguiente comando:

ProxyRemote * http://12.34.56.78:8080

Puede hacer que Apache use 12.34.56.78:8080 como servidor proxy. El primer parámetro después de la instrucción ProxyRemote representa el nombre del protocolo o la dirección de destino, por ejemplo:

ProxyRemote ftp http://12.34.56.78:8080    # 对于所有ftp请求使用二级代理
ProxyRemote http://www.google.com/ http://12.34.56.78:8080    # 当访问 www.google.com时使用二级代理


Configurar el servidor proxy Apache httpd en Windows

Autor:

Blog del hermano de Charlie Ash : https://blog.csdn.net/qwert678000/article/details/78789974

Configurar la información del proxy

Abra el archivo de configuración Apache24 / conf / httpd.conf:

Escuche la modificación del puerto (modifique el puerto y la ip que desea monitorear)

Listen 192.168.2.5:9001

Cargue los módulos necesarios

LoadModuleaccess_compat_module modules/mod_access_compat.so
LoadModulelbmethod_bybusyness_module modules/mod_lbmethod_bybusyness.so
LoadModulelbmethod_byrequests_module modules/mod_lbmethod_byrequests.so
LoadModulelbmethod_bytraffic_module modules/mod_lbmethod_bytraffic.so
LoadModulelbmethod_heartbeat_module modules/mod_lbmethod_heartbeat.so
LoadModuleproxy_module modules/mod_proxy.so
LoadModuleproxy_connect_module modules/mod_proxy_connect.so
LoadModuleproxy_ftp_module modules/mod_proxy_ftp.so
LoadModuleproxy_html_module modules/mod_proxy_html.so
LoadModuleproxy_http_module modules/mod_proxy_http.so
LoadModulexml2enc_module modules/mod_xml2enc.so

# 注释掉ssl模块,不然启动的时候需要443端口会报错
#LoadModulessl_module modules/mod_ssl.so

Agregue la configuración de Proxy, habilite el proxy de reenvío de Apache y permita que todas las solicitudes accedan al proxy

ProxyRequests On
<Proxy *>
    Requireall granted
</Proxy>

Verificación de la configuración del cliente Linux

vi / etc / profile // Edite este archivo y agregue la siguiente configuración de proxy en la parte inferior

http_proxy=192.168.2.3:9901         # http协议使用代理服务器地址
https_proxy=$http_proxy             # https协议使用安全代理地址
no_proxy=localhost,127.0.0.1        # 不使用代理的主机或IP
export http_proxyhttps_proxy no_proxy

entre ellos

192.168.2.3::代理地址,可以是IP,也可以是域名;
9901:使用的端口;

Guarde y salga, la fuente / etc / profile entra en vigor inmediatamente. prueba:

[root@localhost temp]# cd ~/temp
[root@localhost temp]# wget www.baidu.com
--2019-01-07 13:41:25--  http://www.baidu.com/
正在连接 192.168.2.3:9901... 已连接。
...


Supongo que te gusta

Origin blog.csdn.net/hylaking/article/details/86000792
Recomendado
Clasificación