Compartir tecnología

Secuela práctica de Ubuntu: Apache httpd construye fácilmente un servidor proxy eficiente

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Autor: Gao Yuhan
Hora: 2024.7.11 21:06
Blog: blog.csdn.net/cg_i
Entorno: Ubuntu 22.04.4 LTS, Apache/2.4.52 (Ubuntu)

Las máquinas son más capaces que las personas y la mayoría de ellas acabarán sin hacer nada.

I. Introducción

Este artículo es ["Combate práctico de Apache httpd en Windows 11: cree fácilmente un servidor proxy eficiente"](Práctica de Apache httpd en Windows 11: cree fácilmente un servidor proxy eficiente - Blog de CSDN ) pieza complementaria.En un capítulo anterior, detallé cómoWindows 11explotar en el sistemaApache httpd Cree un servidor proxy eficiente y estable.Sin embargo, debido aWindowsyUbuntuExisten diferencias significativas en la configuración y gestión entre los dos principales sistemas operativos que mucha gente está acostumbrada a utilizar.Ubuntu Los usuarios del sistema pueden haber encontrado una serie de desafíos.Para satisfacer las necesidades de estos usuarios, hemos lanzado especialmente esta guía práctica, con el objetivo de brindarle una guía detallada y fácil de entender.Ubuntuen el sistemaApache httpd Tutorial sobre cómo configurar un servidor proxy.Ya sea un principiante o un desarrollador experimentado, creo que puede encontrar un camino de aprendizaje que se adapte a sus necesidades y dominarlo fácilmente.UbuntuHabilidades en la construcción de servidores proxy eficientes.

2. Descripción general de los archivos de configuración de Apache en Ubuntu

En el sistema Ubuntu, el sistema de configuración de Apache2 es único. A diferencia de algunos sistemas que concentran todas las configuraciones en un solo archivo de configuración, Ubuntu adopta una idea de diseño modular.Este diseño distribuye diferentes elementos de configuración en múltiples archivos y pasaapache2.confen el archivo de configuración principalIncludedirectivas para hacer referencia a estos archivos de configuración dispersos.

Específicamente, el archivo de configuración de Apache2 y la estructura de directorios en Ubuntu se pueden resumir de la siguiente manera:

  1. Archivo de configuración principal:
  • Ubicación:/etc/apache2/apache2.conf
  • Función: este es el archivo de configuración principal de Apache, que se lee automáticamente cuando se inicia el sistema.Contiene enlaces a otros archivos de configuración.IncludeInstrucciones para cargar configuraciones importantes como configuración de módulo, configuración de puerto, configuración de host virtual, etc.
  1. Archivo de configuración del módulo:
  • Configuraciones de módulos disponibles:/etc/apache2/mods-available/Directorio que almacena todos los archivos de configuración del módulo Apache disponibles (.loady.confdocumento).

  • Configuración del módulo habilitada:/etc/apache2/mods-enabled/Directorio, puntero de almacenamientomods-availableEnlaces simbólicos a archivos en el directorio que determinan qué módulos están realmente habilitados.

  1. Archivo de configuración de puerto:
  • Ubicación:/etc/apache2/ports.conf
  • Función: Contiene la configuración del número de puerto para el monitoreo de Apache. Este archivo debe editarse al modificar el puerto de escucha.
  1. Archivo de configuración de host virtual:
  • Configuraciones de host virtual disponibles:/etc/apache2/sites-available/Directorio que almacena todos los archivos de configuración de host virtual disponibles.
  • Configuración de host virtual habilitada:/etc/apache2/sites-enabled/Directorio, puntero de almacenamientosites-availableEnlaces simbólicos a archivos en el directorio que determinan qué hosts virtuales están realmente habilitados.
  1. Otros archivos de configuración:
  • Opcional:/etc/apache2/conf-available/y/etc/apache2/conf-enabled/Directorio para almacenar otros archivos de configuración opcionales y sus enlaces de habilitación.
  • Configuración de variables de entorno:/etc/apache2/envvarsArchivo que contiene variables de entorno para el tiempo de ejecución de Apache.
  1. Archivo de configuración definido por el usuario (configuración principal no predeterminada):
  • Ubicación:/etc/apache2/httpd.conf
  • Descripción: en algunos casos, los usuarios pueden agregar configuraciones personalizadas en este archivo. Pero en la instalación predeterminada de Apache2 de Ubuntu, este archivo puede estar vacío porque toda la configuración principal se ha dispersado en otros archivos.

Precauciones

  • En Apache2 de Ubuntu,httpd.conf No es el archivo de configuración principal y puede estar vacío de forma predeterminada.Por lo tanto, al configurar Apache en Ubuntu, debes centrarte enapache2.confdocumentos y a través deIncludeOtros archivos de configuración a los que hace referencia la directiva.

3. Configure y habilite el servicio de proxy Apache.

1. Habilite el módulo proxy

  • Navegue al directorio de habilitación del módulo:cd /etc/apache2/mods-enabled
  • Cree los enlaces simbólicos necesarios para habilitar el módulo proxy:
sudo ln -s ../mods-available/proxy.load  
sudo ln -s ../mods-available/proxy_connect.load  
sudo ln -s ../mods-available/proxy_http.load  
sudo ln -s ../mods-available/proxy.conf
  • 1
  • 2
  • 3
  • 4

Después de la ejecución, use ls -al comando para ver el estado del enlace, el resultado debe ser similar al siguiente:

gao@NAS:/etc/apache2/mods-enabled$ ls -al pr*  
lrwxrwxrwx 1 root root 28  711 20:44 proxy.conf -> ../mods-available/proxy.conf  
lrwxrwxrwx 1 root root 36  711 20:40 proxy_connect.load -> ../mods-available/proxy_connect.load  
lrwxrwxrwx 1 root root 33  711 20:40 proxy_http.load -> ../mods-available/proxy_http.load  
lrwxrwxrwx 1 root root 28  711 20:40 proxy.load -> ../mods-available/proxy.load
  • 1
  • 2
  • 3
  • 4
  • 5
  • Ejemplo: contenido del archivo proxy.load

    LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so
    
    • 1

2. Modificar proxy.conf Archivo de configuración

Utilice un editor de texto como vi)editar proxy.conf documento:

gao@NAS:/etc/apache2/mods-enabled$ sudo vi proxy.conf
  • 1

Modifique de la siguiente manera, asegurándose de descomentar y configurar los ajustes del proxy adecuadamente:

<IfModule mod_proxy.c>  
    # 如果想将 Apache 用作正向代理。  
    # 注意:请务必在 <Proxy *> 块中限制访问。  
    # 开放代理服务器对您的网络和整个互联网都是危险的。  
    #  
    # 如果只想将 Apache 用作某些 Web 应用程序服务器前的反向代理/网关,  
    # 则不需要 'ProxyRequests On'。  
    ProxyRequests On  
    <Proxy *>  
      Require all granted  
    </Proxy>  
</IfModule>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

3. Configurar el puerto de escucha

  • Navegue hasta el directorio del archivo de configuración de Apache:cd /etc/apache2
  • editar ports.conf archivo para agregar o modificar el puerto de escucha:
gao@NAS:/etc/apache2$ sudo vi ports.conf
  • 1

Modifique el contenido de la siguiente manera, agregue un nuevo puerto de escucha (por ejemplo, 8756):

# 如果只是更改端口或在此处添加更多端口,则可能还需要更改  
# /etc/apache2/sites-enabled/000-default.conf 中的 VirtualHost 语句。  
  
Listen 80  
Listen 8756  
  
<IfModule ssl_module>  
    Listen 443  
</IfModule>  
  
<IfModule mod_gnutls.c>  
    Listen 443  
</IfModule>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

4. Inicie el servicio Apache.

Inicie el servicio Apache usando el siguiente comando:

sudo systemctl start apache2
  • 1

Asegúrese de que el servicio Apache se haya iniciado correctamente y que el servicio proxy esté escuchando en el puerto configurado.

gao@NAS:~$ netstat -an|grep '8756'
tcp6       0      0 :::8756                 :::*                    LISTEN     
  • 1
  • 2

En este punto, el servidor proxy Apache httpd se ha configurado e iniciado correctamente en el sistema Ubuntu.