Configuring Nginx to be case-insensitive

As PowerBuilder is designed to be case-insensitive and always uses lower cases to access the deployed folders/files, therefore, in a case-sensitive file system like Linux, folder/file names (such as images etc.) containing upper cases may not be found or loaded.

To avoid such issues, you are recommended to

  • Change the folder/file names (such as theme, images etc.) to use all lower cases; or

  • Configure Nginx in Linux to be case-insensitive.

To configure Nginx in Linux to be case-insensitive,

  1. Download the ngx_http_lower_upper_case module and Nginx source code.

    Suppose ngx_http_lower_upper_case is de-compressed to the folder: /src/case/, and Nginx is de-decompressed to the folder: /src/ngx/.

  2. Go to the Nginx folder and load the ngx_http_lower_upper_case module.

    cd /src/ngx/nginx-1.21.3
    ./configure --prefix=/nginx  \
    --add-module=/src/case/ngx_http_lower_upper_case
    
  3. Compile the Nginx source code.

    make
  4. If Nginx is already installed, stop Nginx, copy the files from /src/ngx/nginx-1.21.3/objs/nginx to replace the existing ones, and then restart Nginx.

    If Nginx is not yet installed, execute the following command to install Nginx:

    make install 
  5. Go to the Nginx installation folder and open the nginx.conf file in a text editor.

    Locate the "location" block and modify it like below:

    location ~[A-Z+] {
              lower $caseurl $request_uri;
              rewrite  ^(.*)  $caseurl  last;
    }
  6. Reload the Nginx configuration.

    nginx –s reload