Forum Discussion

Don_Resnik_1042's avatar
Don_Resnik_1042
Icon for Nimbostratus rankNimbostratus
Sep 29, 2008

character endoding UTF-8

Hello,

 

 

I have two identical servers in different F5 virtual servers and pools. I am having a problem displaying chinese characters when one of the servers is in a particular pool. It does not matter which server is in the pool, as soon as I put it there, the chinese characters turn into upside down question marks. The application and database layers are identical. The only difference I can see now is that on virtual server has iRules to manage PKI authentication and the other one does not (it uses username/password authentication).

 

 

When I use LiveHTTP headers, the resulting pages look identical with the same encoding in the header. But only one without the iRules displays the chinese characters, the other has the upside down question marks.

 

 

Could it be something in the iRule that is causing this problem if the HTTP headers are identical?

 

 

Any ideas on how to troubleshoo this would be appreciated.

 

 

Thanks,

 

 

Don Resnik
  • Hi Don,

     

     

    If you remove the iRule and test to the VIP, does the encoding issue occur? If so, can you post the iRule?

     

     

    Thanks,

     

    Aaron
  • Hamish's avatar
    Hamish
    Icon for Cirrocumulus rankCirrocumulus
    Also, does it depend on whether an http profile is attached to the VS or not?

     

     

    H
  • Aaron,

     

     

    The virtual server where it does display has no iRules, which is why I am looking at the iRules as the possible problem. I can't post the iRules because they are on an intranet, so I can't cut and paste them and they are too long to retype. I can tell that they basically pull a username out of a PKI certificate and put in in a header for the application layer.

     

     

    Again, the headers I see when using LiveHTTP header look identical, including the character encoding (UTF-8), so I am not sure if the iRules are doing anything, but it seems to be the only difference in the two environments.

     

     

    Does it make sense that this problem could come from the iRules? I found very little about character encoding on DevCentral, but I am running out of places to look.

     

     

    Thanks,

     

     

    Don
  • I didn't think LTM would ever modify the payload's character set with the possible exception of using a stream profile and possibly when collecting the payload. Are you collecting the request or response payload or using a stream profile and/or STREAM:: iRules?

     

     

    Can you capture a tcpdump on the client and server side to see what changes occur through the VIP with the iRule?

     

     

    Aaron
  • Aaron,

     

     

    We are running 9.1.2.

     

     

    How do you do a tcp dump?

     

     

    Thanks,

     

     

    Don
  • SOL411 (Click here) and SOL6546 (Click here) describe how to capture a tcpdump on BIG-IP. In general, you can use syntax like the following to capture traffic on all switch interfaces, with no packet snaplength restriction and save the results to a binary file. You can use wireshark to analyze the tcpdump off LTM.

     

     

    tcpdump -ni 0.0 -s0 -w/var/tmp/`/bin/hostname`/.trace.dmp host VIP_IP_ADDRESS or host SERVER_IP_ADDRESS

     

     

    If the client or server side connections are encrypted, you can use ssldump to decrypt the trace. You'll need the server's SSL key to decrypt it. You'll need to get the SSL handshake in the trace in order to decrypt it, so make sure to start the tcpdump before you open the browser to test with.

     

     

    Aaron