Enterprise Nginx Web Service Optimization

Directorio

Optimización de seguridad básica de Nginx Optimización del
rendimiento del servicio de Nginx Optimización
relacionada con el registro de
Nginx Imágenes de Nginx y solución de cadena antirrobo de directorios
Introducción a CDN

Optimización de seguridad básica de Nginx

1. Ajuste los parámetros para ocultar la información de la versión del software Nginx o el nombre del software

Podemos usar algunos métodos para ver el software del servidor web y el número de versión utilizado por un sitio web, como el comando curl de Linux. Esto puede brindarles a los delincuentes la oportunidad de atacar sitios web. Los tipos y números de versión de todos los servidores ocultos son muy importantes. A continuación presentamos dos formas de esconderse

(1) Ajuste los parámetros para ocultar la información del número de versión del software Nginx
El parámetro server_tokens en el archivo de configuración

######更改参数之前,使用curl查看本机搭建的服务器的信息
[root@www yum.repos.d]# curl -I 192.168.10.10
HTTP/1.1 200 OK
Server: nginx/1.16.1      ###可以看到使用的软件是Nginx,版本为1.16.1
Date: Sun, 17 Nov 2019 03:13:11 GMT
Content-Type: text/html
Content-Length: 14
Last-Modified: Sun, 17 Nov 2019 03:12:02 GMT
Connection: keep-alive
ETag: "5dd0ba82-e"
Accept-Ranges: bytes


###相关参数
涉及到的参数为server_tokens,该参数在配置文件中不存在,
但是默认他的状态是on的,我们要手动给他改成off,就不会显
示出版本信息了,server_tokens参数可以放在http模块中,可
以放在Server模块中,也可以放在location模块中

###这里我们把它放在http模块中
http{
  ...
  server_tokens off;    ###在原配置文件中添加这一句,其他配置这里就不给出了
  ...
  }


###设置之后,重启Nginx服务
[root@www yum.repos.d]# kill -HUP 22814     #使用信号平滑重启

###再次查看
[root@www yum.repos.d]# curl -I 192.168.10.10
HTTP/1.1 200 OK
Server: nginx                     ###已经隐去了版本号信息
Date: Sun, 17 Nov 2019 03:29:19 GMT
Content-Type: text/html
Content-Length: 14
Last-Modified: Sun, 17 Nov 2019 03:12:02 GMT
Connection: keep-alive
ETag: "5dd0ba82-e"
Accept-Ranges: bytes

(2) Cambie el código fuente para ocultar el nombre del software Nginx y el número de versión.
Para ocultar el nombre del software bajo Nginx, debe operar el código fuente nginx.
Necesitamos modificar los tres archivos fuente en secuencia.

[root@localhost /]# curl  -I 192.168.10.10
HTTP/1.1 200 OK
Server: nginx/1.17.5
Date: Mon, 18 Nov 2019 05:38:33 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Mon, 18 Nov 2019 05:31:23 GMT
Connection: keep-alive
ETag: "5dd22cab-264"
Accept-Ranges: bytes


第一个文件 nginx-1.17.5/src/core/nginx.h 
修改前
#ifndef _NGINX_H_INCLUDED_
#define _NGINX_H_INCLUDED_


#define nginx_version      1017005  
#define NGINX_VERSION      "1.17.5"     ###这一行和版本号有关
#define NGINX_VER          "nginx/" NGINX_VERSION    ###这一行修改nginx为fuxiangyu

#ifdef NGX_BUILD
#define NGINX_VER_BUILD    NGINX_VER " (" NGX_BUILD ")"
#else
#define NGINX_VER_BUILD    NGINX_VER
#endif

#define NGINX_VAR          "NGINX"        ###这一行将NGINX修改为fuxiangyu
#define NGX_OLDPID_EXT     ".oldbin"


修改后
#ifndef _NGINX_H_INCLUDED_
#define _NGINX_H_INCLUDED_


#define nginx_version      1017005
#define NGINX_VERSION      "1.17.5"
#define NGINX_VER          "fuxiangyu/" NGINX_VERSION

#ifdef NGX_BUILD
#define NGINX_VER_BUILD    NGINX_VER " (" NGX_BUILD ")"
#else
#define NGINX_VER_BUILD    NGINX_VER
#endif

#define NGINX_VAR          "fuxiangyu"
#define NGX_OLDPID_EXT     ".oldbin"


第二个文件 nginx-1.17.5/src/httpngx_http_header_filter_module.c 的第49行
修改前
```python
static u_char ngx_http_server_string[] = "Server: nginx" CRLF; ###修改引号中的nginx
修改后
static u_char ngx_http_server_string[] = "Server: fuxiangyu" CRLF;


第三个文件 nginx-1.17.5/src/
修改前
#需要修改的位置在20行到30行之间
"<hr><center>" NGINX_VER "</center>" CRLF   ###修改这一行
"</body>" CRLF
"</html>" CRLF
;


static u_char ngx_http_error_build_tail[] =
"<hr><center>" NGINX_VER_BUILD "</center>" CRLF  ###修改这一行

修改后
"<hr><center>" NGINX_VER "(http://192.168.10.10)</center>" CRLF ###定义对外展示的内容
"</body>" CRLF
"</html>" CRLF
;


static u_char ngx_http_error_build_tail[] =
"<hr><center>fuxiangyu</center>" CRLF  ###此行将对外展示的Nginx名字更改为fuxiangyu



三个文件都修改完成后,再对nginx进行重新编译,安装
下面来看下效果
[root@localhost /]# curl -I 192.168.10.10
HTTP/1.1 200 OK
Server: fuxiangyu/1.17.5     ###这里已经变成了fuxiangyu而不是nginx了
Date: Mon, 18 Nov 2019 06:01:29 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Mon, 18 Nov 2019 05:31:23 GMT
Connection: keep-alive
ETag: "5dd22cab-264"
Accept-Ranges: bytes

Optimizar el rendimiento del servidor Nginx basado en parámetros

1. Optimice la cantidad de procesos de trabajadores de servicios de Nginx
En escenarios de servicio web de alta concurrencia y alta visita, debe iniciar más procesos de Nginx con anticipación para garantizar una respuesta rápida y manejar una gran cantidad de solicitudes de usuarios concurrentes

Principio de cambio: al configurar
el servidor, la configuración inicial de la cantidad de procesos de trabajo puede ser igual a la cantidad de núcleos de CPU, y la cantidad de procesos de trabajo debería ser mayor, de modo que cuando se preste el servicio inicialmente, no habrá un inicio temporal de nuevos procesos debido al rápido aumento en el acceso Para el problema de proporcionar servicios, en el caso de alto tráfico y alta concurrencia, también puede considerar aumentar el número de procesos al número de núcleos de CPU * 2, la situación específica debe seleccionarse de acuerdo con el negocio real, porque además de hacer coincidir este parámetro con el número de núcleos de CPU, Está relacionado con los datos almacenados en el disco duro y la carga del sistema. Establecerlo en la cantidad de núcleos de CPU es una buena configuración inicial

Parámetros de configuración relacionados

work_processes <value>  ###该参数一般放置在nginx的全局变量块中
放置位置:放在nginx的全局变量中

El valor predeterminado es automático en el archivo de configuración, que generalmente es un número de núcleo de CPU correspondiente a un proceso de proceso de trabajo.
Inserte la descripción de la imagen aquí
Ver el método de número de núcleo de CPU

第一种方法:
[root@www nginx-1.16.1]# grep processor /proc/cpuinfo|wc -l
2

第二种方法:
执行top之后,再按1可以看到CPU核数的信息


2. Enlace diferentes procesos de Nginx a diferentes CPU.
De manera predeterminada, pueden ejecutarse múltiples procesos de Nginx en una determinada CPU o en un núcleo de la CPU, lo que resulta en recursos de hardware desiguales utilizados por el proceso de Nginx. Esta sección presentará el propósito de Nginx cómo asignar procesos diferentes para diferentes procesamiento de la CPU, para lograr un uso pleno y eficaz de los recursos de hardware de los multi-CPU de núcleos múltiples
parámetros de configuración relacionados con

work_processes <value>  
worker_cpu_affinity <cpu编号> <cpu编号>
参数放置位置为nginx全局变量块处

La configuración es la siguiente

#四核CPU的配置
worker_processes 4;
worker_cpu_affinity 0001 0010 0100 1000;
第一个进程绑定到编号为0的CPU核上,第二个进程绑定到编号为1的CPU核上
第三个进程绑定到编号为2的CPU核上,第四个进程绑定到编号为3的CPU核上

worker_processes 2;
worker_cpu_affinity 0101 1010;
第一个进程绑定到编号为0和2的cpu核上,第二个进程绑定到编号为1和3的cpu核上

Después de la prueba de esfuerzo, puede obtener que la tasa de uso de la CPU sea relativamente promedio después de dicho enlace

3. El modelo de procesamiento de eventos de Nginx optimiza
el mecanismo de procesamiento de conexión de Nginx. Se adoptarán diferentes modelos de E / S en diferentes sistemas operativos. Bajo Linux, Nginx utiliza el modelo de multiplexación de E / S de epoll y el I de kqueue en Freebsd. / O modelo de multiplexación, el modelo de multiplexación de E / S en modo / dev / poll se usa en Solaris y icop se usa en Windows

La configuración del modelo de procesamiento de eventos nginx está en el bloque de eventos

event {
  ...
   use [kqueue|epoll|/dev/pollicop]
  ...
  }
  参数放置位置:event块中

4. Ajuste
el valor del número máximo de conexiones de cliente permitidas por Nginx single process worker_ connections para que se especifique de acuerdo con el rendimiento del servidor específico y el uso de memoria del programa (el programa determina la memoria utilizada por un proceso para iniciar).
Este parámetro de opción se configura en el evento

event {
  ...
   worker_connections 20480;
  ...
  }
  参数放置位置:event块中

5. Configure el número máximo de archivos abiertos para el proceso de trabajo de Nginx

worker_rlimit_nofile 65535;
参数放置位置:全局变量块中


6. Active el modo eficiente de transferencia de archivos

El parámetro sendfile se usa para habilitar el modo eficiente de transferencia de archivos y configurar los dos comandos tcp_nopush y tcp_nodelay al mismo tiempo, lo que puede evitar el bloqueo de E / S de red y disco y mejorar la eficiencia del trabajo de Nginx

sendfile on|off
参数放置位置:http块,server块,location块

Rol de parámetro: activa o desactiva la función sendfile (). sendfile () es una función de copia de datos entre dos descriptores de archivo. Esta operación de copia está en el núcleo y se llama "copia cero". sendfile () es mucho más eficiente que las funciones de lectura y escritura, porque leer y La función de escritura copia los datos a la capa de aplicación y luego opera

VII. Parámetros de optimización de conexión Nginx, ajustar el tiempo de espera de conexión
1. ¿Cuál es el tiempo de espera de conexión
simple conversación. Un grupo de conexiones no ha sufrido un intercambio de datos sustancial durante un período de tiempo, entonces se puede considerar que la existencia de esta conexión es de poca importancia, ya que ocupa recursos del sistema y excede el umbral de tiempo para desconectar activamente esta conexión. La conexión de
tiempo de espera es una especie de autogestión , Mecanismo de autoprotección
2. La función
del tiempo de espera de la conexión · Establezca la conexión inútil en el tiempo de espera lo antes posible, lo que puede proteger los recursos del sistema del servidor (CPU, memoria, disco)
· Cuando hay muchas conexiones, desconecte las que se han establecido a tiempo Las conexiones que no hacen cosas durante mucho tiempo para reducir los recursos del servidor que ocupan, porque el servidor mantiene las conexiones también consumen recursos.
Para evitar ataques de DOS, los piratas informáticos inician muchas conexiones inútiles para tratar de derrotar al servidor
. En el entorno LNMP, si el usuario solicita servicios dinámicos Luego, Nginx establecerá una conexión, solicitará el servicio FastCGI y el servicio back-end MySQL, en este momento esta conexión Nginx debe establecer un tiempo de espera, devolver los datos dentro del tiempo tolerado por el usuario o esperar un momento para que el servidor de fondo devuelva los datos Las estrategias específicas deben analizarse de acuerdo con el negocio específico. Por supuesto, el servicio FASTCGI y el servicio MYSQL también tienen control de tiempo de espera correspondiente a la conexión

3. Configuración de los parámetros de tiempo de espera
(1) keepalive_timeout 60;

keepalive_timeout <vaule>  ##单位为秒
参数放置位置:http块,server块,location块

Se utiliza para establecer el tiempo de espera para que el cliente mantenga la sesión durante 60 segundos. Después de este tiempo, el servidor cerrará la
función de parámetro de conexión : keep-alive puede hacer que la conexión establecida entre el cliente y el servidor siempre funcione sin salir, cuando el servidor tiene una solicitud continua Cuando keep-alive utilizará la conexión establecida para proporcionar servicios, a fin de evitar que el servidor restablezca la solicitud de procesamiento.
Este parámetro establece un keep-alive (cuánto tiempo permanece la conexión del cliente en el servidor antes de salir), la unidad es segundos

(2) tcp_nodelay en ;

tcp_nodelay on|off ##单位为秒
参数放置位置:http块,server块,location块

Función de parámetro: de manera predeterminada, cuando se envían datos, el núcleo no lo enviará de inmediato y puede esperar más bytes para formar un paquete de datos, lo que puede mejorar el rendimiento de E / S. Sin embargo, en un escenario empresarial donde solo se envían unos pocos bytes a la vez, si se usa este parámetro, el tiempo de espera del cliente será más largo
(3) send_timeout 25;

send_timeout <vaule>  ##单位为秒
参数放置位置:http块,server块,location块

Función de parámetro: se utiliza para especificar el tiempo de espera para responder al cliente. Este tiempo de espera se limita al tiempo entre dos actividades de conexión. Si se excede este tiempo, el cliente no tiene actividad y Nginx cerrará la conexión.

VIII. Configuración Ngxin expira la optimización del rendimiento de caché
1. Características
En pocas palabras, el sitio función de Nginx expries es que los usuarios acceso a una hora fija de vencimiento, cuando el primer usuario para acceder al contenido, que se almacena en la memoria de usuario El navegador es local, de modo que cuando el usuario continúa visitando el sitio web por segunda vez y más tarde, el navegador verificará el contenido que se ha almacenado en caché en el navegador del usuario, y no irá al servidor para descargar hasta que el contenido almacenado en caché caduque o se borre

Una comprensión más profunda: la función de caduca es permitir que el contenido del encabezado de respuesta HTTP "Expries" y "Cache-Control" se controle a través del archivo de configuración de Nginx, diciéndole al cliente si el navegador puede almacenar en caché y por cuánto tiempo, estos encabezados de respuesta HTTP quieren que el cliente El final muestra la validez y durabilidad del contenido. Si el cliente tiene una memoria caché de contenido localmente, el contenido se puede leer desde la memoria caché en lugar del servidor, y luego el cliente insistirá en la copia en la memoria caché para ver si caduca y caduca para decidir si vuelve a adquirir actualizaciones de contenido del servidor

2. Introducción de funciones
En el desarrollo y operación del sitio web, hay menos posibilidades de cambios en los elementos del sitio web, como videos, imágenes, CSS, JS, especialmente imágenes. En este momento, se puede decir que la imagen está configurada en la memoria caché local del navegador del cliente durante 365 días, y CSS , JS, html y otros códigos se almacenan en caché durante 10 a 30 días, de modo que después de que el usuario abra la página por primera vez, el contenido correspondiente se almacenará en caché de acuerdo con la fecha de vencimiento en el navegador local. La próxima vez que el usuario abra una página similar, los elementos duplicados no son necesarios. Descargado para acelerar el acceso del usuario. Las solicitudes de acceso de usuario y los datos se reducen, y también se puede guardar una gran cantidad de ancho de banda del lado del servidor. Esta función es similar a la función de caducidad de Apache
3. Ventajas
· los expries pueden reducir el ancho de banda del sitio web y ahorrar costos
· Acelerar la velocidad del acceso de los usuarios al sitio web y mejorar la experiencia de acceso del usuario
· Reducción de las visitas al servidor, la presión del servidor se reduce, los costos del servidor Bajar

4. Desventajas
Cuando se actualiza la página en caché o los datos del sitio web, el usuario aún puede ver el contenido en caché anterior en este momento, lo que afectará la experiencia del usuario, entonces, ¿cómo resolver este problema?
Primero, para las imágenes y otros archivos que a menudo necesitan ser cambiados, el tiempo de caché del objeto se puede acortar.Por ejemplo, las imágenes de la página de inicio de Google y Baidu a menudo se reemplazan con algunas imágenes de vacaciones según diferentes fechas, por lo que puede establecer esta imagen como el período de caché. Es un día. En
segundo lugar, cuando el sitio web se revisa o actualiza, el objeto en caché se puede renombrar en el servidor (programa de código del sitio web).
• Las imágenes y los archivos adjuntos en el sitio web generalmente no son modificados directamente por el usuario. La modificación de la imagen a nivel de usuario es Se retransmite al servidor. Aunque el contenido es el mismo, es un nuevo nombre de imagen
. La revisión y actualización del sitio web modificará JS, CSS y otros elementos. Si estos elementos se renombran durante la revisión, el CDN front-end y el usuario deberán volver a almacenar en caché el contenido

5. Configuración de parámetros

expires <value> ###可以指定时间 天,月等
参数放置位置:location块,通常匹配指定类型的文件

实例
location ~ .*\.(js|css)?$
{
  exprires 30d;
}
###匹配后缀名为js或者css的文件,在客户端缓存30天

9. Configure la compresión gzip de Nginx para la optimización del rendimiento
1. Introducción a la función El
módulo de compresión gzip de Nginx proporciona el contenido de los archivos comprimidos. Antes de que el contenido solicitado por el usuario se envíe al cliente, el servidor Nginx implementará la compresión de acuerdo con algunas estrategias específicas. Para ahorrar el ancho de banda de la salida del sitio web y acelerar la eficiencia de transmisión de datos, para mejorar la experiencia de acceso del usuario
2. Ventajas
· Mejore la experiencia del sitio web del usuario: el contenido enviado al usuario es más pequeño, el acceso del usuario al tamaño de la unidad de la página se acelera
· Ahorre costos de ancho de banda del sitio web: los datos son Transmisión comprimida, que ahorra el ancho de banda y los costos de tráfico del sitio web
3. Objetos que deben comprimirse y no necesitan comprimirse
· El contenido de texto sin formato tiene una alta relación de compresión. Por lo tanto, es mejor comprimir contenido de texto sin formato, como html, js, css, xml , shtml y otros formatos
, imágenes, videos (medios de transmisión) y otros archivos no deben comprimirse tanto como sea posible, porque la mayoría de estos archivos están comprimidos, si se vuelven a comprimir, no se pueden reducir o el efecto no es obvio, por lo que la compresión rentable no es Alto
4. Configuración específica: ya no se da aquí, los estudiantes interesados ​​buscan solos

Optimización relacionada con el registro

Cuando un usuario solicita un software, la mayoría del software registrará el acceso del usuario, y el servicio Nginx no es una excepción. El software Nginx actualmente no tiene la función de dividir registros similares a Apache, pero podemos usar scripts, función de control de señal Nginx o recargar recargar para lograr el corte automático de
registros 1. Configure el script de corte de registro

1. Implemente el script

log_split
#!/bin/bash
cd /application/nginx/logs    #进入nginx存放日志的目录下
/bin/mv www_access.log www_access_$(date +%F -d -1day).log
                              #配置前一天的日子
/application/nginx/sbin/nginx -s reload ##重新记载nginx使得触发重新生访问日志

2. Agregue el script a la configuración de la tarea programada y deje que el script se ejecute a las 0:00 todos los días para implementar la función de división

[root@localhost /]# crontab -e
00 00 * * * /bin/bash /log_split  ###添加这行内容

2. No registre registros a los que no sea necesario acceder
En el trabajo real, los registros para las comprobaciones del nodo de estado del equilibrador de carga o ciertos archivos específicos (como imágenes, JS, CSS) generalmente no necesitan registrarse, ya que las estadísticas se basan en PV Se calculan las páginas y demasiadas escrituras de registros consumirán una gran cantidad de E / S de disco, lo que reduce el rendimiento del servidor

location ~ .*\.(js|jpg|css)$ {
     access_log off;
}

Imagen Nginx y solución de cadena antirrobo de directorio

1. ¿Qué es el hotlinking de recursos? En
pocas palabras, algunos sitios web sin escrúpulos usan los recursos de otros sitios web ilegalmente en sus propios programas de sitios web sin permiso, y luego muestran estos recursos de llamadas en sus propios sitios web para llenarse. El efecto del sitio web, este movimiento no solo desperdicia el tráfico de red al llamar al sitio web de recursos, sino que también hace que el ancho de banda y la presión de servicio de otros sitios web sean estrictos

2. El principio básico de implementar la solución de cadena antirrobo
(1) Según el árbitro HTTP para lograr el antirrobo
en el protocolo HTTP, Hay un campo de encabezado para referenciar, que usa el formato URL para indicar dónde se usa el enlace para los recursos de la página actual. El referente puede detectar la página web de origen que visita. Si se trata de un archivo de recursos, puede rastrear la dirección de la página web que lo muestra. Una vez que el origen no es el sitio, puede bloquear inmediatamente o volver a la página especificada. El
referente HTTP es parte del encabezado. Cuando el servidor envía una solicitud, generalmente trae un referente y le dice al servidor de qué página vengo, y el servidor usa esto para obtener información para el procesamiento. Apache, nginx, Lightttpd admiten cadenas antirrobo de acuerdo con el referente HTTP

Inserte la descripción de la imagen aquí
(2) Según la cadena antirrobo de cookies
Para algunos datos comerciales especiales, como algunas aplicaciones de medios de transmisión, no proporcionan el encabezado de referencia al servidor. Si se utiliza el método de detección de referencia, no jugará un buen papel. Especialmente para Flash, video de Windows Media y otros datos comerciales que ocupan mucho tráfico, la cadena antirrobo es más difícil. En este momento, la tecnología de cookies se puede utilizar para resolver el problema de la transmisión de medios

Use CDN para acelerar el sitio web

1. ¿Qué es CDN?
El nombre completo de CDN es Content Delivery Network, que significa red de distribución de contenido en chino. Simplemente, al agregar una nueva arquitectura de red a Internet existente, el contenido del sitio web se publicará en el servidor de caché más cercano al usuario. A través de la tecnología inteligente de equilibrio de carga de DNS, se determina la fuente del usuario, para que el usuario pueda usar y Los usuarios del mismo ancho de banda de línea acceden al servidor de caché para obtener el contenido requerido. Los operadores generalmente brindan servicios CDN

CDN es un conjunto de clústeres de caché distribuidos nacionales o globales. La esencia es determinar la región de origen del usuario y la línea de acceso a Internet a través de DNS inteligente, seleccionar un nodo de caché más cercano para el usuario y el mismo nodo de servicio que la línea de acceso a Internet del usuario. El usuario está en la misma línea, por lo que acelerará la velocidad de acceso y mejorará la experiencia del usuario.

2. Características de
CDN CDN es un clúster de memoria caché distribuida con una programación inteligente basada en el área y la línea del usuario. Tiene las siguientes características
. Caché de datos del sitio web a través de la memoria del servidor, lo que mejora los sitios empresariales (especialmente los sitios que contienen muchas imágenes y videos). Acceda a la velocidad y mejore la estabilidad de los sitios empresariales
. Los usuarios seleccionan automáticamente el servidor de caché más adecuado de acuerdo con la tecnología de DNS inteligente, lo que reduce el impacto de los cuellos de botella de interconexión entre diferentes operadores, asegurando que los usuarios en diferentes redes puedan obtener buenos resultados. Calidad de acceso
· Acelere la velocidad de acceso, reduzca el ancho
de banda del sitio original · Lea datos de la memoria del servidor cuando los usuarios acceden, compartan el tráfico de red y reduzcan la presión de carga en el sitio original
· Use CDN para compartir el tráfico de red del sitio fuente, Al mismo tiempo, puede reducir la presión de carga del sitio original y el impacto del pirateo y varios ataques DDOS en el sitio web para garantizar que el sitio web tenga una buena calidad de servicio.

[root@localhost /]# curl -I www.4399.com
HTTP/1.1 200 OK
Date: Mon, 18 Nov 2019 07:30:11 GMT
Content-Type: text/html
Content-Length: 172976
Connection: keep-alive
Expires: Mon, 18 Nov 2019 07:33:39 GMT
Server: nginx
Last-Modified: Mon, 18 Nov 2019 01:14:14 GMT
ETag: "5dd1f066-2a3b0"
Cache-Control: max-age=1800
Accept-Ranges: bytes
Age: 1592
X-Via: 1.1 PShbsjzsxie214:4 (Cdn Cache Server V2.0), 1.1 bd37:3 (Cdn Cache Server V2.0), 1.1 PSsdzbwtxt63:12 (Cdn Cache Server V2.0)

###Cdn Cache Server V2.0 就说明这个站点使用了CDN加速

Publicado 24 artículos originales · ganó 10 · vistas 2367

Supongo que te gusta

Origin blog.csdn.net/flat0809/article/details/103106833
Recomendado
Clasificación