Nginx动态域名解析的过程是什么

其他教程   发布日期:2023年07月23日   浏览次数:526

本文小编为大家详细介绍“Nginx动态域名解析的过程是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“Nginx动态域名解析的过程是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

摘要

  1. Nginx
进行反向代理的时候会进行域名解析,把域名解析为具体
  1. IP
后缓存在本地,如果域名对应的
  1. IP
发生了改变,则会导致
  1. Nginx
代理失效,下面使用
  1. Nginx
  1. resolver
指令来实现域名动态解析。

基于自定义DNS服务器动态解析

内网

  1. DNS
服务器我使用的是
  1. dnsmasq

default.conf配置

  1. server {
  2. listen 80;
  3. root /usr/share/nginx/html/;
  4. resolver 192.168.137.110 valid=5s;
  5. set $proxy_url huzhihui.local;
  6. include /etc/nginx/default.d/*.conf;
  7. location / {
  8. index index.html index.htm;
  9. try_files $uri $uri/ /index.html;
  10. client_max_body_size 100m;
  11. add_header tenantId $arg_tenantId;
  12. add_header appId $arg_appId;
  13. }
  14. location /api/ {
  15. proxy_set_header Host $http_host;
  16. proxy_set_header X-Real-IP $remote_addr;
  17. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  18. proxy_set_header X-Forwarded-Proto $scheme;
  19. rewrite /api/(.*) /$1 break;
  20. proxy_pass http://$proxy_url:8070;
  21. }
  22. }

主要配置点

  1. resolver
:配置DNS服务器,和解析地址的有效期
  1. valid

  1. set
:用来配合
  1. resolver
做域名的
  1. IP
地址解析

  1. rewrite
:对访问路径进行修改

  1. proxy_pass
:实际跳转到的代理服务,不要带路径参数,因为上面已经用
  1. rewrite
重写了

启动访问

基于K8S的CoreDns动态域名解析

default.conf

  1. server {
  2. listen 80;
  3. root /usr/share/nginx/html/;
  4. resolver kube-dns.kube-system.svc.cluster.local valid=10s;
  5. set $a_part_host a-part-http-service.huzhihui.svc.cluster.local;
  6. include /etc/nginx/default.d/*.conf;
  7. location / {
  8. index index.html index.htm;
  9. try_files $uri $uri/ /index.html;
  10. client_max_body_size 100m;
  11. add_header tenantId $arg_tenantId;
  12. add_header appId $arg_appId;
  13. }
  14. location /api/ {
  15. proxy_set_header Host $http_host;
  16. proxy_set_header X-Real-IP $remote_addr;
  17. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  18. proxy_set_header X-Forwarded-Proto $scheme;
  19. proxy_pass http://127.0.0.1:5031/;
  20. }
  21. location /a-part/ {
  22. client_max_body_size 100m;
  23. proxy_set_header Host $http_host;
  24. proxy_set_header X-Real-IP $remote_addr;
  25. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  26. proxy_set_header X-Forwarded-Proto $scheme;
  27. rewrite /a-part/(.*) /api/$1 break;
  28. proxy_pass http://$a_part_host;
  29. }
  30. location ~ .*.(html)$ {
  31. #html disabled cache
  32. add_header Cache-Control no-store;
  33. }
  34. error_page 404 /404.html;
  35. location = /40x.html {
  36. }
  37. error_page 500 502 503 504 /50x.html;
  38. location = /50x.html {
  39. }
  40. }

主要配置点

    1. kube-dns.kube-system.svc.cluster.local
    :这个域名是
    1. K8S DNS
    的域名
    1. a-part-http-service.huzhihui.svc.cluster.local
    1. a-part-http-service
    1. K8S
    定义的
    1. svc
    名称,
    1. huzhihui
    是我定义的
    1. namespaces

做完上面的配置,

  1. svc
重启后
  1. ip
改变也不会导致反向代理失效了。

以上就是Nginx动态域名解析的过程是什么的详细内容,更多关于Nginx动态域名解析的过程是什么的资料请关注九品源码其它相关文章!