1. server_name 无效
现象:Nginx 反向代理了两个应用,配置详情如下。发现访问 b.chenshaowen.com
和 a.chenshaowen.com
时,返回的都是 A 服务的请求。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
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
1
2
3
4
5
6
|
server {
listen 80;
server_name XX.chenshaowen.com;
return 404;
}
# 其他 server
|
2. Nginx 增加密码验证
1.安装密码生成工具
1
|
yum install httpd-tools
|
2.生成账号密码
1
|
htpasswd -bc /your/password/file/path username password
|
3.Nginx 配置
1
2
3
4
5
|
location / {
auth_basic "input password";
auth_basic_user_file /your/password/file/path;
...
}
|
4.重启 Nginx 服务
1
2
3
4
|
nginx -s reload
```
当再次访问时,Nginx 会弹出一个小框,提示输入密码。使用 username:password 即可登录、
|