Judul : [Lab 8.16] Server HTTPS dengan Nginx
link : [Lab 8.16] Server HTTPS dengan Nginx
[Lab 8.16] Server HTTPS dengan Nginx
Web Server adalah server yang menyediakan layanan konten website pada Jaringan Internet, saat Web Server menerima permintaan maka Web Server akan mengirimkannya pada yang meminta lewat Jaringan Publik atau Internet, konten yang dikirim lewat jaringan tentunya dapat terlihat oleh Orang lain atau mata-mata, karena melewati jaringan publik, untuk itu kita perlu mengamankan konten yang dikirim agar tidak dapat dilihat oleh orang.Nginx memiliki fitur HTTPS atau HTTP SSL/TLS, adalah protokol HTTP yang dilengkapi dengan Enkripsi menggunakan protocol SSL/TLS, dengan ini ketika Web Server dan Client bertukar informasi, maka Informasinya akan di enkripsi atau isinya dikunci dengan cara diubah menjadi tulisan aneh yang tidak dapat dibaca oleh manusia, sehingga ketika dikirim lewat Jaringan Internet tidak dapat dibaca oleh orang lain.
Dengan menggunakan HTTPS maka Server harus memiliki Sertifikat CA (Certificate Authority) yang isinya adalah informasi dari Server, fungsinya agar server dapat melakukan Enkripsi data, didalam CA terdapat Public Key atau kunci untuk mengenkripsi data, kemudian data yang dienkripsi tersebut hanya bisa dibaca oleh Client yang memiliki Private Key.
Sistem Operasi | : | Linux CentOS 7 |
IP Address | : | 192.168.56.40 (enp0s3) |
Domain Name | : | centos.dz |
- Pertama konfigurasi IP Address pada Interface server menjadi static agar IP Address server permanen dan tidak berubah ubah.
[root@dz-nginx-ssl ~]# vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=enp0s3
UUID=2bc33e21-067b-4a2f-a8b3-b90db29177eb
DEVICE=enp0s3
ONBOOT=yes
IPADDR=192.168.56.40
NETMASK=255.255.255.0
GATEWAY=192.168.56.1
DNS1=192.168.56.40
DNS2=8.8.8.8
yum --enablerepo=epel -y install nginx
systemctl enable httpd
systemctl start httpd
firewall-cmd --perma --add-port=80/tcp
firewall-cmd --perma --add-port=443/tcp
firewall-cmd --reload
Membuat Certificate
Kita harus membuat sebuah sertifikat, public key, private key yang diperlukan SSL.- Kita pindah ke folder untuk membuat sertifikat, dan kita buat didalam folder ini.
[root@dz-nginx-ssl ~]# cd /etc/pki/tls/certs/Lalu kita lanjut konfigurasi https pada nginx :
[root@dz-nginx-ssl certs]# make server.key
umask 77 ; \
/usr/bin/openssl genrsa -aes128 2048 > server.key
Generating RSA private key, 2048 bit long modulus
...................................+++
.........................+++
e is 65537 (0x10001)
Enter pass phrase:
Verifying - Enter pass phrase:
[root@dz-nginx-ssl certs]# openssl rsa -in server.key -out server.key
Enter pass phrase for server.key:
writing RSA key
[root@dz-nginx-ssl certs]# make server.csr
umask 77 ; \
/usr/bin/openssl req -utf8 -new -key server.key -out server.csr
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:ID
State or Province Name (full name) []:JABAR
Locality Name (eg, city) [Default City]:JONGGOL
Organization Name (eg, company) [Default Company Ltd]:TKJ
Organizational Unit Name (eg, section) []:TKJ
Common Name (eg, your name or your server's hostname) []:NGINX-DZ
Email Address []:dzikrafathin@gmail.com
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
[root@dz-nginx-ssl certs]# openssl x509 -in server.csr -out server.crt -req -signkey server.key
Signature ok
subject=/C=ID/ST=JABAR/L=JONGGOL/O=TKJ/OU=TKJ/CN=NGINX-DZ/emailAddress=dzikrafathin@gmail.com
Getting Private key
- Kita edit file konfigurasi nginx yang ada di /etc/nginx/nginx.conf untuk mengaktifkan https.
server {
listen 80 default_server;
listen [::]:80 default_server;
listen 443 ssl;
server_name www.centos.dz;
root /usr/share/nginx/html;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers ECDHE+RSAGCM:ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:!aNULL!eNull:!EXPORT:!DES:!3DES:!MD5:!DSS;
ssl_certificate /etc/pki/tls/certs/server.crt;
ssl_certificate_key /etc/pki/tls/certs/server.key;
systemctl restart nginx
[root@dz-nginx-ssl ~]# vi /usr/share/nginx/html/index.html
Demikianlah Artikel [Lab 8.16] Server HTTPS dengan Nginx
Sekianlah artikel [Lab 8.16] Server HTTPS dengan Nginx kali ini, mudah-mudahan bisa memberi manfaat untuk anda semua. baiklah, sampai jumpa di postingan artikel lainnya.
Anda sekarang membaca artikel [Lab 8.16] Server HTTPS dengan Nginx dengan alamat link https://anothers-stuff.blogspot.com/2017/05/lab-816-server-https-dengan-nginx.html