目录

    1. server_name 无效

    现象:Nginx 反向代理了两个应用,配置详情如下。发现访问 b.chenshaowen.coma.chenshaowen.com 时,返回的都是 A 服务的请求。

    server {
    
         listen 80;
         server_name a.chenshaowen.com;
         location / {
                proxy_pass http://A;
         }
     }
    
    server {
    
        listen 8080;
        server_name b.chenshaowen.com;
        location / {
               proxy_pass http://B;
        }
    }
    

    原因:当所有 server 的规则都不匹配时,Nginx 会采用第一条 server 配置。

    解决办法:在最前处,新增一条 server

    server {
          listen 80;
          server_name XX.chenshaowen.com;
          return 404;
     }
     # 其他 server
    

    2. Nginx 增加密码验证

    1.安装密码生成工具

    yum install httpd-tools
    

    2.生成账号密码

    htpasswd -bc /your/password/file/path username password
    

    3.Nginx 配置

    location / {
           auth_basic "input password";
           auth_basic_user_file  /your/password/file/path;
           ...
     }
    

    4.重启 Nginx 服务

    nginx -s reload
    

    当再次访问时,Nginx 会弹出一个小框,提示输入密码。使用 username:password 即可登录、