面试题答案
一键面试1. Nginx 配置反向代理到本地 Tomcat 8080 端口
在 Nginx 的配置文件(一般在 /etc/nginx/sites-available/
下,假设文件名为 default
)中添加如下配置:
server {
listen 80;
server_name your_domain.com; # 替换为你的域名,如果是 IP 访问,可以写 IP
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
然后确保该配置文件软链接到 /etc/nginx/sites-enabled/
目录下,重启 Nginx 服务:
sudo ln -s /etc/nginx/sites-available/default /etc/nginx/sites-enabled/
sudo systemctl restart nginx
2. 配置反向代理的好处
- 隐藏后端服务器信息:客户端只知道 Nginx 的存在,不知道后端真实的 Tomcat 服务器地址和端口,提高了后端服务器的安全性。
- 负载均衡:可以通过配置多个
proxy_pass
指向不同的 Tomcat 服务器实例,实现请求的负载均衡,提高应用的并发处理能力。 - 缓存功能:Nginx 可以对静态资源进行缓存,减少后端 Tomcat 服务器的压力,提高响应速度。
- 请求过滤和安全防护:Nginx 可以配置各种规则对请求进行过滤,如防止恶意请求、限制请求频率等,增强应用的安全性。