Simple Windows HTTPS Server Menggunakan NGINX di AWS

Hi gengz, di artikel kali ini kita akan coba configure HTTPS menggunakan NGINX di Windows Server.

Berikut adalah diagram yang akan kita buat

Saya sudah mempersiapkan EC2 Windows Server 2019 di AWS yang saya miliki.

Langsung aja kita RDP ke Servernya yuk.

Generate Sertifikat Menggunakan Openssl

Install openssl

msiexec.exe /i https://slproweb.com/download/Win64OpenSSL_Light-3_0_3.msi

Masuk ke folder

C:\Program Files\OpenSSL-Win64\bin

Lalu generate sertifikat menggunakan command berikut

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout nginx-selfsigned.key -out nginx-selfsigned.crt

2 file yang ter-generate akan kita gunakan di langkah berikutnya

Download dan Configure NGINX

Mari kita download NGINX dulu yuk

Invoke-WebRequest -Uri http://nginx.org/download/nginx-1.20.2.zip -OutFile nginx.zip

Mari kita unzip dulu

tar -xvf .\nginx.zip

Buka nginx folder

explorer.exe .

Buat folder baru bernama ssl, dan paste certificate & key yang sudah kita generate

Rubah konfigurasi di nginx.conf

Silahkan ubah dengan value berikut, jangan lupa di save ya gengz, sesuaikan juga dengan folder path masing masing, siapa tau ada perbedaan

events {}
http {
    server {
        listen              443 ssl;
        ssl_certificate     "C:/Users/Administrator/Downloads/nginx-1.20.2/ssl/nginx-selfsigned.crt";
        ssl_certificate_key "C:/Users/Administrator/Downloads/nginx-1.20.2/ssl/nginx-selfsigned.key";
        ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;

        location / {
            proxy_pass http://127.0.0.1:5000;
        }
    }
}

Mari kita jalankan nginx.exe

Yup, begitu doank tampilannya, tenang aja, jalan kok, hahahaha

Aplikasi Python

Mari kita install aplikasi python sebagai web aplikasi kita

Invoke-WebRequest -Uri https://www.python.org/ftp/python/3.8.10/python-3.8.10-amd64.exe -OutFile python.exe

Mari kita install pythonnya ya, jangan lupa pathnya di checklist

Pastikan Python sudah berjalan di Windows Server anda.

Mari kita buat folder baru bernama python-app di Download

from flask import Flask, render_template
app = Flask(__name__)

@app.route('/')
def home():
    return "Hello From Flask and NGINX"

if __name__ == "__main__":
    app.run(debug=True)

Mari kita install dulu dependencynya, anda bisa mengetikkan cmd dan enter, untuk langsung mengakses folder ke cmd

pip install flask

Mari kita jalankan Python App kita

python main.py

Enable HTTPS di Firewall

Mari kita konfigurasi dulu firewallnya ya gengz

Konfigurasi Security Group di EC2

Pastikan kita sudah allow https pada security group kita

Testing

Mari kita check, ip public dari Windows Server kita

Anda akan melihat bahwa koneksi yang anda akses tidak private, click advance dan continue

Seperti yang kita lihat, server kita sudah https

Selamat ya gengz, semoga yang follow instruksinya berhasil juga, jika tidak pastikan tidak ada yang terlewat, dan sesuaikan dengan konfigurasi yang ada di tempat teman teman sekalian.

Semoga bermanfaat

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout /  Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout /  Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout /  Ubah )

Connecting to %s

Situs yang Didukung WordPress.com.

Atas ↑

%d blogger menyukai ini: