Konfigurasi NGINX di OpenBSD - Port HTTP dan HTTPS
· 2 min read · Label UnixBSD
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:
Pertama-tama, kami akan mengecek versi Nginx yang tersedia di repositori OpenBSD.
Setelah mengetahui versi Nginx di repositori OpenBSD, kami mulai menginstal Nginx.
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.
Setelah itu, Anda membuat file vhosts.conf.
Dalam file vhosts.conf, ketik skrip di bawah ini untuk menjalankan Nginx port 80.
Buat direktori untuk host virtual, jalankan perintah di bawah ini untuk membuat direktori /var/www/htdocs/serverblock.
Lanjutkan dengan membuat file index.html dan jalankan perintah untuk membuat kepemilikan dan izin.
Pada file index.html, ketik skrip seperti pada contoh di bawah ini.
Jalankan Nginx dengan perintah rcctl.
Untuk memeriksa apakah server NGinx berjalan normal atau masih ada kesalahan skrip, jalankan perintah curl, seperti pada contoh di bawah ini.
Setelah Anda membuat direktori SSL, lanjutkan dengan menjalankan OpenSSL untuk mulai membuat sertifikat SSL.
Buat file index.html yang akan kita gunakan untuk menguji Nginx HTTPS. Pada file index.html, ketik skrip di bawah ini.
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.
- 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
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.
Setelah itu, Anda memulai dan mengaktifkan Nginx untuk memulai pada waktu boot di OpenBSD.
Install Nginx with pkg_add
foo# pkg_add nginx-1.24.0p0
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;
}
Create vhosts.conf
foo# touch /etc/nginx/vhosts.conf
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;
}
}
Create directory virtual host
foo# mkdir -p /var/www/htdocs/serverblock
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
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>
Run Nginx
foo# rcctl restart nginx
nginx(ok)
nginx(ok)
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/nginxfoo# mkdir -p SSLfoo# cd 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/
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.
Langkah selanjutnya adalah menjalankan Nginx sehingga dapat menjalankan port 443 HTTPS.
Langkah terakhir, periksa server Nginx. Dalam pengujian ini, kami menggunakan perintah curl. Jalankan perintah curl seperti pada contoh di bawah ini.
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.
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;
}
Run Nginx
foo# rcctl restart nginx
nginx(ok)
nginx(ok)
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>
Silahkan Berkomentar, Kakak...! Bunda...!
Posting Komentar