溫馨提示×

溫馨提示×

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

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

Nginx動態(tài)域名解析的過程是什么

發(fā)布時間:2023-03-02 10:46:25 來源:億速云 閱讀:100 作者:iii 欄目:開發(fā)技術(shù)

本文小編為大家詳細介紹“Nginx動態(tài)域名解析的過程是什么”,內(nèi)容詳細,步驟清晰,細節(jié)處理妥當(dāng),希望這篇“Nginx動態(tài)域名解析的過程是什么”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識吧。

摘要

Nginx進行反向代理的時候會進行域名解析,把域名解析為具體IP后緩存在本地,如果域名對應(yīng)的IP發(fā)生了改變,則會導(dǎo)致Nginx代理失效,下面使用Nginxresolver指令來實現(xiàn)域名動態(tài)解析。

基于自定義DNS服務(wù)器動態(tài)解析

內(nèi)網(wǎng)DNS服務(wù)器我使用的是dnsmasq

default.conf配置

server {
    listen       80;
    root         /usr/share/nginx/html/;
    resolver 192.168.137.110  valid=5s;
    set $proxy_url huzhihui.local;
    include /etc/nginx/default.d/*.conf;
    location / {
      index index.html index.htm;
      try_files $uri $uri/ /index.html;
      client_max_body_size  100m;
      add_header tenantId $arg_tenantId;
      add_header appId $arg_appId;
    }
    location /api/ {
      proxy_set_header Host $http_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;
      rewrite /api/(.*) /$1 break;
      proxy_pass http://$proxy_url:8070;
    }
}

主要配置點

resolver:配置DNS服務(wù)器,和解析地址的有效期valid

set:用來配合resolver做域名的IP地址解析

rewrite:對訪問路徑進行修改

proxy_pass:實際跳轉(zhuǎn)到的代理服務(wù),不要帶路徑參數(shù),因為上面已經(jīng)用rewrite重寫了

啟動訪問

基于K8S的CoreDns動態(tài)域名解析

default.conf

server {
    listen       80;
    root         /usr/share/nginx/html/;
    resolver kube-dns.kube-system.svc.cluster.local  valid=10s;
    set $a_part_host a-part-http-service.huzhihui.svc.cluster.local;
    include /etc/nginx/default.d/*.conf;
    location / {
      index index.html index.htm;
      try_files $uri $uri/ /index.html;
      client_max_body_size  100m;
      add_header tenantId $arg_tenantId;
      add_header appId $arg_appId;
    }
    location /api/ {
      proxy_set_header Host $http_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 http://127.0.0.1:5031/;
    }
	  location /a-part/ {
	    client_max_body_size  100m;
      proxy_set_header Host $http_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;
      rewrite /a-part/(.*) /api/$1 break;
      proxy_pass http://$a_part_host;
    }
    location ~ .*\.(html)$ {
         #html disabled cache
         add_header Cache-Control no-store;
     }
    error_page 404 /404.html;
        location = /40x.html {
    }
    error_page 500 502 503 504 /50x.html;
        location = /50x.html {
    }
}

主要配置點

  • kube-dns.kube-system.svc.cluster.local:這個域名是K8S DNS的域名

  • a-part-http-service.huzhihui.svc.cluster.locala-part-http-serviceK8S定義的svc名稱,huzhihui是我定義的namespaces,

做完上面的配置,svc重啟后ip改變也不會導(dǎo)致反向代理失效了。

讀到這里,這篇“Nginx動態(tài)域名解析的過程是什么”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領(lǐng)會,如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI