您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
# Nginx反向代理二级域名怎么绑定
## 前言
在当今互联网应用中,Nginx作为高性能的Web服务器和反向代理服务器被广泛使用。通过Nginx实现二级域名的反向代理绑定,可以有效管理多个子站点或服务,提升服务器资源利用率。本文将详细介绍如何配置Nginx反向代理来绑定二级域名,涵盖从域名解析到Nginx配置的全过程。
---
## 一、准备工作
### 1.1 域名与DNS解析
- **拥有主域名**:例如`example.com`
- **创建二级域名**:如`sub.example.com`
- **DNS解析设置**:
```bash
# 在域名管理后台添加A记录
sub.example.com -> 服务器IP地址
建议TTL设置为较短时间(如300秒)便于测试
# /etc/nginx/conf.d/sub.example.com.conf
server {
listen 80;
server_name sub.example.com;
location / {
proxy_pass http://localhost:3000; # 被代理服务地址
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
参数 | 作用 | 示例值 |
---|---|---|
server_name |
指定匹配的域名 | sub.example.com |
proxy_pass |
后端服务地址 | http://127.0.0.1:8080 |
proxy_set_header |
传递原始请求头 | Host $host |
sudo nginx -t # 测试配置语法
sudo systemctl reload nginx # 平滑重载
server {
listen 443 ssl;
server_name sub.example.com;
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;
location / {
proxy_pass http://backend;
proxy_ssl_server_name on;
}
}
# HTTP强制跳转HTTPS
server {
listen 80;
server_name sub.example.com;
return 301 https://$host$request_uri;
}
upstream backend {
server 192.168.1.10:8000;
server 192.168.1.11:8000;
keepalive 32;
}
server {
location / {
proxy_pass http://backend;
proxy_http_version 1.1;
}
}
location /ws/ {
proxy_pass http://backend;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
可能原因: 1. 后端服务未运行 2. 防火墙阻止连接 3. 代理地址配置错误
解决方案:
curl -v http://backend:port # 测试后端连通性
sudo ufw allow 8000/tcp # 放行端口
dig sub.example.com
检查DNS解析
127.0.0.1 sub.example.com
openssl x509 -in cert.pem -noout -dates
location ~* \.(jpg|css|js)$ {
proxy_cache my_cache;
proxy_cache_valid 200 1d;
expires 7d;
}
proxy_http_version 1.1;
proxy_set_header Connection "";
keepalive_timeout 75s;
proxy_buffers 16 32k;
proxy_buffer_size 64k;
proxy_busy_buffers_size 128k;
app1.example.com → 3000端口(Node.js)
app2.example.com → 8080端口(Tomcat)
static.example.com → /var/www/static
location /api/user/ {
proxy_pass http://user-service:8001/;
}
location /api/order/ {
proxy_pass http://order-service:8002/;
}
通过本文的详细指导,您应该已经掌握了Nginx反向代理绑定二级域名的核心方法。关键点包括: 1. 正确的DNS解析配置 2. Nginx server块的精准匹配 3. 代理头信息的完整传递 4. HTTPS的安全实现
建议在生产环境部署前进行充分测试,并使用CI/CD工具管理配置版本。更多高级用法可参考Nginx官方文档。
附录:常用命令速查
# 查看Nginx错误日志
tail -f /var/log/nginx/error.log
# 测试特定域名的响应
curl -H "Host: sub.example.com" http://服务器IP
”`
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。