Possible Issues and Solutions in Apinizer
Problem | The addresses within the WSDL returned by GetCapabilities in Geographic Information System services need to be migrated to Apinizer |
---|---|
Reason/Cause | - |
Solution | If the value 'GetCapabilities' in the 'request' key as a query parameter comes in the URL, it should be replaced with the corresponding address in Apinizer using a Business Rule or Script policy to be added to the second region. |
Problem | Seeing the client IP address in the format 10.244.x.x |
---|---|
Reason/Cause | In the Kubernetes NodePort structure, if the X-Forwarded-For value is not coming from the client, it defaults to forwarding the pod's IP address to the backend application. As a solution, setting the externalTrafficPolicy value to Local can resolve the issue. However, this leads to accessibility problems because NodePort doesn't route the incoming request to other servers in the cluster. You need to know the specific Node to access it. |
Solution | Since Apinizer Workers will be placed behind a structure like Nginx or F5, the configuration file of the relevant load balancer needs to include adding the xff information to the header, as shown below. # For Nginx, the configuration can be done as follows: location /apigateway/ { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://api.inst.com/apigateway/; |
Problem | Not displaying/transferring headers containing underscores in API Traffic Logs |
---|---|
Reason/Cause | This issue is not directly related to Apinizer but is related to the default settings of Nginx, which might be used in front of Apinizer. Nginx is commonly used as a web server and reverse proxy server. However, in the default configuration of Nginx, HTTP headers with underscores (_) in their names are not processed and passed. This is due to underscores not being standard in the HTTP RFC. |
Solution | To resolve this issue, you should set the vi /etc/nginx/nginx.conf http { underscores_in_headers on; }
kind: ConfigMap metadata: name: nginx-configuration namespace: ingress-nginx labels: app: ingress-nginx data: enable-underscores-in-headers: "true" |