Konfigurasi NGINX di OpenBSD - Port HTTP dan HTTPS

· 2 min read

Nginx merupakan web server yang bersifat open source seperti Apache, namun sangat ringan dan cepat dalam pemrosesannya. Sejak dirilis, Nginx hanya mem

Berbicara mengenai web server, yang terlintas di pikiran kebanyakan dari kita adalah Apache. Oke, betul sekali, karena Apache merupakan salah satu web server yang paling populer di dunia dan banyak digunakan oleh banyak website di dunia maya. Namun, kali ini saya tidak akan membahas web server Apache, kali ini saya akan membahas salah satu web server yang saat ini sedang naik daun dan mulai populer, yaitu Nginx.

Nginx merupakan web server yang bersifat open source seperti Apache, namun sangat ringan dan cepat dalam pemrosesannya. Sejak dirilis, Nginx hanya memiliki fungsi sebagai HTTP atau sebagai web serving saja. Berbeda dengan Apache yang memiliki fitur yang lengkap dengan berbagai modul yang tertanam di dalamnya, hal tersebut justru membuatnya menjadi lebih berat.

Saat ini, Nginx sedang populer dan dilengkapi dengan berbagai fitur canggih, sehingga akan membuat tampilan website Anda menjadi lebih menarik dan tentunya powerful.




Nginx juga memiliki banyak fitur dan dapat digunakan sebagai berbagai server, seperti:
  • Server proxy terbalik untuk protokol HTTP, HTTPS, SMTP, POP3, dan IMAP.
  • Load balancer dan cache HTTP.
  • Proxy front-end untuk Apache dan server web lainnya, menggabungkan fleksibilitas Apache dengan kinerja konten statis Nginx yang hebat.

1. Cara Instal Nginx

Tentu saja ini bukan satu-satunya tutorial yang menjelaskan cara install Nginx. Akan tetapi, kami telah membuat konten artikel ini menjadi sederhana agar memudahkan pembaca memahami isi artikel. Untuk menginstal Nginx di OpenBSD, Anda dapat melakukannya dengan dua cara, yaitu pkg_add dan ports. Agar semua library dapat terinstal secara lengkap, kami akan menggunakan sistem ports untuk menginstal Nginx. Jalankan perintah di bawah ini untuk memulai proses instalasi Nginx.

Pertama-tama, kami akan mengecek versi Nginx yang tersedia di repositori OpenBSD.

Check Repository Nginx
foo# pkg_info -Q nginx
nginx-1.24.0p0
Setelah mengetahui versi Nginx di repositori OpenBSD, kami mulai menginstal Nginx.

Install Nginx with ports
foo# cd /usr/ports/www/nginx
foo# make build
foo# make install
foo# make clean
Atau, jika Anda ingin menginstal Nginx dengan pkg_add, jalankan perintah di bawah ini.

Install Nginx with pkg_add
foo# pkg_add nginx-1.24.0p0
Setelah itu, Anda memulai dan mengaktifkan Nginx untuk memulai pada waktu boot di OpenBSD.

Enbale Nginx
foo# rcctl enable nginx
foo# rcctl restart nginx

2. Konfigurasi Nginx Port 80 HTTP

Pada OpenBSD, file konfigurasi Nginx utama terletak di direktori /etc/nginx. Di direktori tersebut terdapat file bernama nginx.conf. File ini merupakan file yang mengatur semua perilaku Nginx di server OpenBSD.

Sebelum melanjutkan pembahasan ini, pastikan Nginx berjalan normal di OpenBSD. Untuk mengkonfigurasi Nginx port 80 atau http, kita akan membuat virtual host untuk port 80. Untuk melakukannya, buka file nginx.conf lalu hapus semua isi skrip dan ganti dengan skrip di bawah ini.

/etc/nginx
foo# cd /etc/nginx
foo# nano nginx.conf
user  www;
worker_processes  1;

error_log  logs/error.log;
pid        logs/nginx.pid;
worker_rlimit_nofile 1024;

events {
    worker_connections  800;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    index         index.html index.htm;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  logs/access.log  main;
    keepalive_timeout  65;
    server_tokens off;
    
include /etc/nginx/vhosts.conf;
}
Setelah itu, Anda membuat file vhosts.conf.

Create vhosts.conf
foo# touch /etc/nginx/vhosts.conf
Dalam file vhosts.conf, ketik skrip di bawah ini untuk menjalankan Nginx port 80.

Create vhosts.conf
foo# nano /etc/nginx/vhosts.conf
server {
        listen       80;
        listen       [::]:80;
        server_name  datainchi.com;
        root         /var/www/htdocs/serverblock;
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
        root  /var/www/htdocs/serverblock;
        }
    }
Buat direktori untuk host virtual, jalankan perintah di bawah ini untuk membuat direktori /var/www/htdocs/serverblock.

Create directory virtual host
foo# mkdir -p /var/www/htdocs/serverblock
Lanjutkan dengan membuat file index.html dan jalankan perintah untuk membuat kepemilikan dan izin.

Create index.html
foo# touch /var/www/htdocs/serverblock/index.html
foo# chown -R www:www /var/www/htdocs/serverblock/
foo# chmod -R 775 /var/www/htdocs/serverblock
Pada file index.html, ketik skrip seperti pada contoh di bawah ini.

Add a script in the index.html file
foo# nano /var/www/htdocs/serverblock/index.html
<html>
<head>
<title>Nginx port 80</title>
</head>
<body>
<p align="center">Welcome to Nginx Virtual Host port HTTP</p>
</body>
</html>
Jalankan Nginx dengan perintah rcctl.

Run Nginx
foo# rcctl restart nginx
nginx(ok)
nginx(ok)
Untuk memeriksa apakah server NGinx berjalan normal atau masih ada kesalahan skrip, jalankan perintah curl, seperti pada contoh di bawah ini.

Check Nginx
foo# curl 192.168.5.3:80
<html>
<head>
<title>Nginx port 80</title>
</head>
<body>
<p align="center">Welcome to Nginx Virtual Host port HTTP</p>
</body>
</html>

3. Konfigurasi Nginx Port 443 HTTPS

Setelah Anda memahami cara menjalankan Nginx pada port 80 atau HTTP. Kita lanjutkan dengan menjalankan Nginx pada port 443 atau HTTPS. Pada port 443, NGinx memerlukan enkripsi sertifikat SSL. Pembuatan sertifikat SSL, sebagai langkah pertama dalam memulai konfigurasi Nginx HTTPS.

a. Buat certificate SSL

Kami menggunakan OpenSSL untuk membuat sertifikat SSL untuk Nginx yang gratis. Dengan OpenSSL Anda dapat membuat sertifikat SSL dengan mudah. ​​Berikut ini adalah contoh pembuatan sertifikat SSL dengan OpenSSL.

Create directory SSL
foo# cd /etc/nginx
foo# mkdir -p SSL
foo# cd SSL
Setelah Anda membuat direktori SSL, lanjutkan dengan menjalankan OpenSSL untuk mulai membuat sertifikat SSL.

Create certificate SSL (/etc/nginx/SSL)
foo# openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/nginx/SSL/nginxssl.key -out /etc/nginx/SSL/nginxssl.crt

b. Buat Server root HTTPS

Setelah Anda memiliki sertifikat SSL, langkah selanjutnya adalah membuat direktori host virtual untuk Nginx HTTPS dan memberikan perintah kepemilikan dan izin. Perhatikan contoh di bawah ini.

/var/www/htdocs/nginxssl
foo# mkdir -p /var/www/htdocs/nginxssl
foo# chown -R www:www /var/www/htdocs/nginxssl/
foo# chmod -R 775 /var/www/htdocs/nginxssl/
Buat file index.html yang akan kita gunakan untuk menguji Nginx HTTPS. Pada file index.html, ketik skrip di bawah ini.

Create index.html file
foo# touch /var/www/htdocs/nginxssl/index.html
foo# nano /var/www/htdocs/nginxssl/index.html
<html>
<head>
<title>Nginx port 443</title>
</head>
<body>
<p align="center">Welcome to Nginx Virtual Host port 443 HTTPS</p>
</body>
</html>

c. Konfigurasi Nginx HTTPS

Untuk menjalankan Nginx port 443, Anda harus membuat file conf untuk host virtual HTTPS. Buka file nginx.conf, lalu tambahkan skrip di bawah ini.

Add the script in the nginx.conf file
foo# nano /etc/nginx/nginx.conf
include /etc/nginx/vhostsSSL.conf;
Setelah itu buat file vhostsSSL.conf dan ketik skrip di bawah ini di dalam file vhostsSSL.conf.

Create vhostsSSL.conf file and add script
foo# touch /etc/nginx/vhostsSSL.conf
foo# nano /etc/nginx/vhostsSSL.conf
server {
        listen       443 ssl;
        server_name  datainchi.com;
        root         /var/www/htdocs/nginxssl;

        ssl_certificate      /etc/nginx/SSL/nginxssl.crt;
        ssl_certificate_key  /etc/nginx/SSL/nginxssl.key;
        ssl_session_timeout  5m;
        ssl_session_cache    shared:SSL:1m;

        ssl_ciphers  HIGH:!aNULL:!MD5:!RC4;
        ssl_prefer_server_ciphers   on;
    }
Langkah selanjutnya adalah menjalankan Nginx sehingga dapat menjalankan port 443 HTTPS.

Run Nginx
foo# rcctl restart nginx
nginx(ok)
nginx(ok)
Langkah terakhir, periksa server Nginx. Dalam pengujian ini, kami menggunakan perintah curl. Jalankan perintah curl seperti pada contoh di bawah ini.

Test Nginx port 443 HTTPS
foo# curl -k https://192.168.5.3:443
<html>
<head>
<title>Nginx port 443</title>
</head>
<body>
<p align="center">Welcome to Nginx Virtual Host port 443 HTTPS</p>
</body>
</html>
Jika skrip di atas terlihat seperti ini, berarti semua konfigurasi yang Anda lakukan tidak salah. Saat ini Anda memiliki server Nginx yang berjalan pada port 80 dan port 443. Kami sarankan untuk menggunakan port 443 untuk setiap aktivitas server Nginx, demi melindungi data penting Anda.
Subscribe on LinkedIn Konfigurasi NGINX di OpenBSD - Port HTTP dan HTTPS

Enclosures Link: Konfigurasi NGINX di OpenBSD - Port HTTP dan HTTPS

Silahkan Berkomentar, Kakak...! Bunda...!

Posting Komentar