nginx: 配置 - 业务配置安全



0. nginx业务配置方面的安全注意点

关于业务无关的nginx本身的安全注意点,详见安全 - 基础安全

这里更关注一些业务相关的配置中的安全因素,比如说:

1. 禁止IP直接访问服务器

生产环境下,服务之间,一般都是使用指定的公网域名或者内部局域网域名来跨主机交互。基于此,禁止使用服务器IP访问nginx服务器的安全限制就成为了可能。

server {
    listen      80 default_server;
    server_name _;
    return      444;
}

2. 如何安全的重定向

这里有几个要点:

server {
    listen 80 default_server;
    server_name _;
    return 307 https://$host$request_uri;
}

简要解释

不要混淆$server_name$host,server_name就是我们配置的该server块的变量

3. 严格要求HTTP请求方法

仅允许常用的GET, POST

add_header Allow "GET, POST" always;
if ( $request_method !~ ^(GET|POST)$ ) {
	return 405;
}