溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

nginx反向代理二級域名怎么綁定

發布時間:2022-04-27 14:21:58 來源:億速云 閱讀:139 作者:iii 欄目:大數據
# Nginx反向代理二級域名怎么綁定

## 前言

在當今互聯網應用中,Nginx作為高性能的Web服務器和反向代理服務器被廣泛使用。通過Nginx實現二級域名的反向代理綁定,可以有效管理多個子站點或服務,提升服務器資源利用率。本文將詳細介紹如何配置Nginx反向代理來綁定二級域名,涵蓋從域名解析到Nginx配置的全過程。

---

## 一、準備工作

### 1.1 域名與DNS解析
- **擁有主域名**:例如`example.com`
- **創建二級域名**:如`sub.example.com`
- **DNS解析設置**:
  ```bash
  # 在域名管理后臺添加A記錄
  sub.example.com -> 服務器IP地址

建議TTL設置為較短時間(如300秒)便于測試

1.2 服務器環境要求

  • 已安裝Nginx(推薦1.18+版本)
  • 服務器開放80/443端口
  • 具備sudo權限的用戶

二、基礎配置流程

2.1 創建Nginx配置文件

# /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;
    }
}

2.2 關鍵參數說明

參數 作用 示例值
server_name 指定匹配的域名 sub.example.com
proxy_pass 后端服務地址 http://127.0.0.1:8080
proxy_set_header 傳遞原始請求頭 Host $host

2.3 測試并重載配置

sudo nginx -t  # 測試配置語法
sudo systemctl reload nginx  # 平滑重載

三、高級配置方案

3.1 HTTPS加密配置

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;
}

3.2 負載均衡配置

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;
    }
}

3.3 WebSocket代理

location /ws/ {
    proxy_pass http://backend;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
}

四、常見問題排查

4.1 502 Bad Gateway

可能原因: 1. 后端服務未運行 2. 防火墻阻止連接 3. 代理地址配置錯誤

解決方案

curl -v http://backend:port  # 測試后端連通性
sudo ufw allow 8000/tcp     # 放行端口

4.2 域名解析失敗

  • 使用dig sub.example.com檢查DNS解析
  • 本地hosts文件臨時測試:
    
    127.0.0.1 sub.example.com
    

4.3 SSL證書問題

  • 確保證書包含完整鏈
  • 檢查證書有效期:
    
    openssl x509 -in cert.pem -noout -dates
    

五、性能優化建議

5.1 緩存靜態資源

location ~* \.(jpg|css|js)$ {
    proxy_cache my_cache;
    proxy_cache_valid 200 1d;
    expires 7d;
}

5.2 連接池優化

proxy_http_version 1.1;
proxy_set_header Connection "";
keepalive_timeout 75s;

5.3 緩沖區配置

proxy_buffers 16 32k;
proxy_buffer_size 64k;
proxy_busy_buffers_size 128k;

六、實際應用案例

6.1 多服務代理方案

app1.example.com → 3000端口(Node.js)
app2.example.com → 8080端口(Tomcat)
static.example.com → /var/www/static

6.2 微服務架構代理

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

”`

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女