browse by category or date

I guess this is a continuation of my previous post. So yesterday I officially opened up the reverse proxy to public. Here’s the steps I took:

  1. Add the sub-domain name in our nameserver, pointing it out to one of our public IP
  2. Update the Firewall to ensure the public IP is translated to the NGINX IP address
  3. Update NGINX configuration

Everything runs smoothly except step 1. After 24 hours, the DNS correctly propagated to M1, StarHub and the rest of the Internet. But it didn’t propagated to the SingTel’s network. My colleagues which are subscribing to M1 and StarHub able to resolve the new sub-domain. One colleague which is under SingTel couldn’t. I found rather ironic, since our ISP is actually SingTel! 😛

As of the NGINX configuration, open /etc/nginx/sites-enabled/default then add something similar to below

server {
    listen       80;
    #public sub-domain name
    server_name  myNewApp.myCompany.com.sg;

    access_log  /var/log/nginx/default/myNewApp.myCompany.access.log;
    error_log /var/log/nginx/default/myNewApp.myCompany.error.log;

    # proxy to IIS backend server
    location / {
        proxy_pass         http://10.0.10.122:80/;
        proxy_redirect     off;
        #public sub-domain name
        proxy_set_header   Host             myNewApp.myCompany.com.sg;
        proxy_set_header   X-Real-IP        $remote_addr;
        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
        proxy_max_temp_file_size 0;

        client_max_body_size       10m;
        client_body_buffer_size    128k;

        proxy_connect_timeout      90;
        proxy_send_timeout         90;
        proxy_read_timeout         90;

        proxy_buffer_size          4k;
        proxy_buffers              4 32k;
        proxy_busy_buffers_size    64k;
        proxy_temp_file_write_size 64k;
    } 
}

Yes, as simple as that. If you are interested to learn more about NGINX, you should start by reading Martin’s post.

About Hardono

Howdy! I'm Hardono. I am working as a Software Developer. I am working mostly in Windows, dealing with .NET, conversing in C#. But I know a bit of Linux, mainly because I need to keep this blog operational. I've been working in Logistics/Transport industry for more than 11 years.

Possibly relevant:

I picked up this book from National Library recently. After finishing it, I felt regret. Regret that I didn’t read this book much earlier.

What I learned from this book, mostly:

  1. Dealing with “Not-Invented-Here” syndrome (which I’m still battling now)
  2. Test-Driven Development, I knew it since my internship with Deutshce Bank, then I completely forgot about it, and now I know I need it
  3. Continuous Integration, I’ve heard of it, I should get my hands dirty with it

I think this book is really good for a programmer who’ve done a few projects, and ready to upgrade their skills.

About Hardono

Howdy! I'm Hardono. I am working as a Software Developer. I am working mostly in Windows, dealing with .NET, conversing in C#. But I know a bit of Linux, mainly because I need to keep this blog operational. I've been working in Logistics/Transport industry for more than 11 years.

Possibly relevant:

If you have a WordPress blog and basic PHP gongfu, very likely you’ll tinker with your plugins. Since you don’t want your changes to be flushed away, you will not update the plugins unless it’s really major. Usually we do this by first select all plugins to update, then manually exclude the plugins which we want to skip update.

wordpress-plugin-update

Manually excluding the plugins is a relatively simple effort. But WordPress plugins have very frequent updates. I personally feel that this exclusion process is mentally excruciating after few rounds of plugins update. Especially when you have modified a number of plugins to suit your needs. Remembering which plugins you should exclude is a burden. For instance, I’ve modified some of the active plugins here:

  1. Calendar Archive. When I installed this plugin, it was version 2.1. I like the idea but I found that I need to improve the output layout. So I modified it to my liking. See it in action: Post By Month. Once I successfully modified this plugin, modified it further resulting Post By Category page.
  2. Multipage Plugin. I’m using this plugin to split a very long post into multiple sub-pages each has its own title. Since I want to have the sub-pages index at the bottom of each sub-page, I then modified the plugin to perform as such. You can see this plugin working in action HERE.
  3. Shortcoder. I am using this plugin to inject Google Adsense code in every post. This way the ads location in each individual post will be vary. Unfortunately, Shortcoder (version 3.2) still inject the ads when the post on the front-page/archive index. Since too many ads might result in Adsense account suspension, I modified Shortcoder to do nothing when the post is on the front-page/archive index.
  4. Spam Free WordPress (this plugin is discontinued, I guess). I modified this plugin to beautify the comment section as well making it difficult for spammer.

Apparently we can permanently exclude any plugin from update. We achieve it by changing the plugin’s version number into something really big. Here’s what I done to Spam Free WordPress, I changed the version from 1.9.1 to 111.0:

/*
Plugin Name: Spam Free WordPress
Plugin URI: http://www.toddlahman.com/spam-free-wordpress/
Description: Comment spam blocking plugin that uses anonymous password authentication to achieve 100% automated spam blocking with zero false positives, plus a few more features.
Version: 111.0
Author: Todd Lahman, LLC
Author URI: http://www.toddlahman.com/
License: GPLv3

	Intellectual Property rights reserved byTodd Lahman, LLC as allowed by law incude,
	but are not limited to, the working concept, function, and behavior of this plugin,
	the logical code structure and expression as written. All WordPress functions, objects, and
	related items, remain the property of WordPress under GPLv3 license, and any WordPress core
	functions and objects in this plugin operate under the GPLv3 license.
*/

I hope it helps, cheers!

About Hardono

Howdy! I'm Hardono. I am working as a Software Developer. I am working mostly in Windows, dealing with .NET, conversing in C#. But I know a bit of Linux, mainly because I need to keep this blog operational. I've been working in Logistics/Transport industry for more than 11 years.

Possibly relevant: