# 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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。