Please enable Javascript to view the contents

Nginx 配置问题记录

 ·  ☕ 1 分钟

1. server_name 无效

现象:Nginx 反向代理了两个应用,配置详情如下。发现访问 b.chenshaowen.coma.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 即可登录、

微信公众号
作者
微信公众号