Nginx使用和配置学习小记 2018-08-02 03:15:49 Steven Xeldax # Nginx ## Nginx 配置文件详解 ``` ... #全局块 events { #events块 ... } http #http块 { ... #http全局块 server #server块 { ... #server全局块 location [PATTERN] #location块 { ... } location [PATTERN] { ... } } server { ... } ... #http全局块 } ``` ## Nginx 命令 > nginx -s reload > systemctl status nginx.service ## Nginx HTTP Basic ### Basic 指令 ``` 语法: auth_basic string | off; 默认值: auth_basic off; 配置段: http, server, location, limit_except 默认表示不开启认证,后面如果跟上字符,这些字符会在弹窗中显示。 语法: auth_basic_user_file file; 默认值: — 配置段: http, server, location, limit_except ``` ### 生成密码 ``` # printf "xxxxxx:$(openssl passwd -crypt xxxxxxx)\n" >passwd # cat passwd ``` ### 修改配置 ``` server{ listen 80; server_name XXXX.xeldax.top; location / { auth_basic "Private Property"; auth_basic_user_file /etc/nginx/file.pwd; proxy_pass http://127.0.0.1:XXXX; } } ``` ## Nginx Ban No Host ## 禁止IP访问 ``` server { listen 80 default; server_name _; return 500; } ``` 或者 ``` server { listen 80 dufault; server_name _; rewrite ^(.*) http://www.linuxidc.net permanent; } ``` 这样,通过linuxidc.com就能访问服务器了,问题解决了,但具体原因还是不清楚。 #### 第一种情况:访问A站定向到B站 ``` server { server_name www.linuxidc.net ; rewrite ^(.*) http://www.linuxidc.com$1 permanent; } ``` #### 第二种情况:不是访问A站的全部重定向到指定页面 ``` server { server_name www.linuxidc.net; if ($host != ‘linuxidc.net’ ) { rewrite ^/(.*)$ http://www.linuxidc.com/$1 permanent; } } ``` 如果写在第一个server段 使用IP访问时也将被重定向 ### 修改配置 ``` server{ listen 80 default; server_name _; rewrite ^(.*) http://xeldax.top permanent; } ```