每日随笔系列——Day 1

随笔——Day 1

  • GTM CNAME添加记录

GTM CNAME添加记录

今天就写一下这两天遇到的一个问题。
遇到了这样的一个需求,就是需要在F5 GTM上对原有www.test.com(域名举例)添加一条CNAME记录,为b.test.com,F5 GTM版本为11.4。在相关文档中查找了如何添加的
每日随笔系列——Day 1_第1张图片
我所遇到的问题是:按照图中的方法进行添加,结果发现并没有生成响应的记录,尝试在Name中输入www.test.com(注意:我尝试的是com后面没有.的,标准做法在com的后面是有.的),结果生成的记录中的名称为www.test.com.test.com。查找了许久也没有发现问题在哪里。后来在仔细查看所有的记录中,发现原有的www.test.com是有对应的A记录的,删除对应的A记录后,按照图片中的方法就可以正常操作了。

其实后来再想想解析流程就不难发现,如果对于www.test.com这个域名而言,有A记录,又有CNAME记录,那么整个解析流程就是:收到DNS请求,然后查找到对应的域名,就直接返回了A记录,相应的CNAME记录就没有生效了,只有当A记录删除,添加CNAME记录,然后再添加b.test.com对应的A记录,这样才可以做到。

另外,遇到了一个需求,是将Nginx的配置,转换为F5上的配置,通过iRules来实现,虽然说没有语法上的错误,但是在实验过程中感觉并没有生效。

对应的Nginx的配置如下:

// Nginx
server {
        listen       xxxx;
        server_name  www.test.com;
        #charset koi8-r;
        #access_log  logs/host.access.log  main;
        location / {
            client_max_body_size 2m;
            client_body_buffer_size 2m;
            proxy_pass http://abc;
            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 Cookie $http_cookie;
        }
        location /get {
            proxy_pass https://efg;
            proxy_redirect off;
            proxy_method GET;
            proxy_set_header authorization "abc";
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Content-Type  "image/jpg";
        }

对于这段代码的理解:
1、 如果客户端输入的URL是 http://membershipavatar,就在header的Host $host;插入X-Real-IP $remote_addr;插入X-Forwarded-For $proxy_add_x_forwarded_for;插入Cookie $http_cookie;
2、 如果客户端输入的URL是https://samsmemberavator.obstenant01.cn-pdc-obstg-01.cn.wal-mart.com/rest,就更改method为GET;头部插入authorization “HCP U3ZjT2JzU2Ftc01lbWJlckF2YXRvcg==:6e544c88abfd3c352c27a3a49f2154bc”;插入X-Forwarded-For $proxy_add_x_forwarded_for;更改Content-Type 为"image/jpg"

对应到F5上的iRule实现:

// F5
when HTTP_REQUEST { 
    if {[string tolower [HTTP::host]] matches_regex {http://abc} }
        {
          HTTP::header insert Host $host
          HTTP::header insert X-Real-IP $remote_addr
          HTTP::header insert X-Forwarded-For $proxy_add_x_forwarded_for
          HTTP::header insert Cookie $http_cookie
        }  
    if {[string tolower [HTTP::host]] matches_regex {https://efg}}
        {
         HTTP::header insert method GET
         HTTP::header insert authorization "abc"
         HTTP::header insert X-Forwarded-For $proxy_add_x_forwarded_for
         HTTP::header insert Content-Type "image/jpg"
        }  
}

具体的我发现这条iRules好像并没有把要插入的东西插入到http头部中,所以我想应该是要再加两步:
1、首先是把HTTP Request截下来,对数据进行插入;
2、放行修改后的数据;
具体的iRule修改,等明天完成后Po出。

你可能感兴趣的:(每日随笔系列——Day 1)