一、域名解析配置
要實現通過不同子域名訪問靜態文件和后端服務,首先需要進行域名解析。在域名注冊商或 DNS 服務商處,為你的兩個子域名 blog.xxx.com 和 api.xxx.com 配置 A 記錄或 CNAME 記錄。將它們的 A 記錄都指向你服務器的 IP 地址。例如,如果服務器 IP 是 192.168.1.100,那么設置 blog.xxx.com 和 api.xxx.com 的 A 記錄值為這個 IP。
二、Nginx 配置
(一)靜態文件配置(blog.xxx.com)
-
創建一個新的 Nginx 配置文件,或者編輯現有的配置文件。可以通過命令
sudo nano /etc/nginx/sites-available/blog
(路徑可能會因你的系統安裝配置而有所不同)來創建或編輯。 -
配置內容如下:
server {listen 80;server_name blog.xxx.com;location / {root /path/to/your/static/files; # 靜態文件存放路徑index index.html;} }
這里監聽 80 端口,
server_name
指令指定子域名。location /
塊指定了根目錄,當用戶訪問 blog.xxx.com 時,會從指定的靜態文件目錄中查找資源。
(二)后端服務配置(api.xxx.com)
-
同樣,創建或編輯 Nginx 配置文件,如
sudo nano /etc/nginx/sites-available/api
。 -
配置示例:
server {listen 80;server_name api.xxx.com;location / {proxy_pass http://localhost:your_backend_port; # 后端服務運行的本地端口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;} }
這里也是監聽 80 端口,proxy_pass
指令將請求轉發到本地運行的后端服務端口,其他 proxy_set_header
指令用于正確設置請求頭,以便后端服務能夠獲取正確的客戶端信息等。
通過以上步驟,你就可以實現在一臺服務器上,通過不同的子域名分別訪問靜態文件和后端服務,并且都開啟了 HTTPS 保護。