Nginx 是一个高性能的开源 Web 服务器,它也可以用作反向代理服务器、负载均衡器和 HTTP 缓存。在 Nginx 中配置域名主要涉及两个方面:虚拟主机配置和反向代理配置。

1. 虚拟主机配置
虚拟主机配置允许您在同一台服务器上托管多个域名的网站。每个域名都可以有自己独立的配置。
nginx
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example.com;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
- `server`: 定义一个服务器块。
- `listen`: 指定服务器监听的端口。
- `server_name`: 指定域名,可以有多个,用空格分隔。
- `root`: 指定网站根目录。
- `index`: 指定默认首页。
- `location`: 匹配 URL 的位置块,用于指定不同 URL 路径的处理方式。
2. 反向代理配置
反向代理允许 Nginx 接收客户端的请求,并将其转发到其他服务器,然后将从其他服务器接收到的响应返回给客户端。
nginx
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://backend_server;
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;
}
}
- `proxy_pass`: 指定反向代理的目标服务器地址。
- `proxy_set_header`: 设置请求头信息,包括 Host、X-Real-IP、X-Forwarded-For 和 X-Forwarded-Proto 等,这些信息有助于后端服务器获取客户端的真实 IP 和请求信息。
以上是 Nginx 中配置域名的基本方法,根据具体需求,您可能还需要添加 SSL/TLS 支持、HTTP2 支持等。在实际配置中,还需考虑安全性、性能和缓存等方面的调优。

查看详情

查看详情