Red de conocimientos turísticos - Información de alquiler - Utilice el archivo de configuración de Nginx para bloquear solicitudes específicas

Utilice el archivo de configuración de Nginx para bloquear solicitudes específicas

Debido a las necesidades laborales, existen varios requisitos de configuración de nginx, que se resumen y registran aquí.

1. Bloquee el método de solicitud y solo permita POST, GET, etc.

Cuando un método de solicitud que no está permitido por nosotros accede al sitio, se define para devolver un 403 El código de estado es el siguiente:

p>

if ($request_method !~ ^(GET|POST)$ )

{

return 403;

}

2. Definir página de error

A veces accedemos a una página que no existe o reportamos un error, como 403/404. /502/503/504/405, etc., o cuando ocurre un error de programa como 500. Por consideraciones de seguridad y facilidad de uso, esperamos poder saltar a una página de error unificada, etc. Puede agregar la siguiente configuración de muestra:

error_page 404 403 502 503 /error.html

ubicación = /error.html {

root html;

}

La premisa aquí es escribir una página de error usted mismo y colocarla en el directorio del servidor nginx especificado.

3. Bloquee la URL especificada

Por ejemplo, cuando varios nombres de servidor proporcionados por nginx usan recursos estáticos, pero hay recursos a los que solo un determinado nombre de servidor puede acceder y Por ejemplo, si; el programa no está escrito de manera suficientemente razonable. Cuando se ejecuta el entorno de producción, se descubre que algunas direcciones no deben proporcionarse a Internet o si queremos bloquear algún acceso malicioso, como caracteres especiales, a través de nginx, podemos usar lo siguiente; Configuración de ejemplo para bloquear la URL especificada Saltar a la página de error:

if ( $request_uri ~* "..;|test1234|home/test.do" ){

reescribir. xxxxxxxxx; #o devolver el código de error especificado

}

El alcance puede ser el servidor o la ubicación. El método de escritura anterior utiliza reglas regulares para hacer coincidir las URL que contienen las cadenas anteriores, ajustarlas según el escenario de uso, usar escape y separar varias cadenas con |.

4. Bloquee la dirección IP especificada

Por ejemplo, después de implementar nuestro servicio, si solo desea que se pueda acceder a la dirección IP especificada o que la IP especificada sea inaccesible, puede usar la siguiente configuración de ejemplo para forzar un salto a la página de Error.

if ($http_x_forwarded_for !~ ^(192.168.3.100|123.123.123.123|222.222.222.222)) {

devuelve 403 #o reescribe la página especificada

}

El alcance puede ser servidor o ubicación.

5. Requisitos extraños

Aquí tengo una prueba de servicio que está abierta a Internet, pero las direcciones /test/admin.jsp y /test/config.jsp son solo si Quiero permitir el acceso a algunas personas designadas pero no permitir el acceso a otras, aquí combino los 3 y 4 anteriores. El ejemplo de configuración es el siguiente:

ubicación /prueba {

establecer $flag 0;

if ( $request_uri ~* "admin.jsp|config.jsp" ) {

establecer $flag "${flag}1";

}

if ($http_x_forwarded_for !~ ^(192.168.3.100|123.123.123.123|222.222.222.222)) {

set $flag "${flag} 2" ;

}

si ( $flag = "012" ){

devuelve 403;

}

proxy_pass xxxxxxxxxxxxxxxxx

proxy_set_header xxxxxxxxxxxxxxx

.................

}<; /p>

Originalmente pensé que si era cierto, entonces bandera = bandera 1, pero después de escribirlo casualmente, descubrí que estaba mal, así que cambié a este método más familiar de empalme de cadenas, que logró lo mismo. objetivo mediante diferentes enfoques;

La bandera es inicialmente 1. Si se accede a la URL especificada, se convertirá en 01. Si se accede a la URL pero no es una IP permitida en nuestra lista blanca, la bandera se convertirá en 012. Finalmente, juzgue la bandera si está desactualizada. "012" significa acceso denegado.

Escribe al final:

Si hay algún error, por favor comenta y házmelo saber.

Utilice el archivo de configuración de Nginx para bloquear solicitudes específicas_Blog-CSDN de Feng Daxian