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