ວິທີການຕິດຕັ້ງ Nginx ດ້ວຍ Virtual Hosts ແລະໃບຢັ້ງຢືນ SSL
Nginx (ສັ້ນ ສຳ ລັບ Engine-x) ແມ່ນໂປແກຼມທີ່ບໍ່ເສຍຄ່າ, ເປີດ, ມີປະສິດທິພາບ, ມີປະສິດຕິພາບສູງແລະສາມາດປັບແຕ່ງ HTTP ແລະເຊີຟເວີຕົວແທນໄດ້, ເຄື່ອງອີເມວ TCP/UDP ມາດຕະຖານ. ມັນງ່າຍທີ່ຈະໃຊ້ແລະຕັ້ງຄ່າ, ມີພາສາການຕັ້ງຄ່າງ່າຍດາຍ. Nginx ປະຈຸບັນແມ່ນຊອບແວຂອງເວັບເຊີເວີ້ທີ່ ເໝາະ ສົມ ສຳ ລັບໃຫ້ ກຳ ລັງໃຊ້ເວບໄຊທ໌ທີ່ມີການໂຫຼດຫຼາຍ, ເນື່ອງຈາກມີຂະ ໜາດ ແລະປະສິດທິພາບຂອງມັນ.
ໃນບົດຄວາມນີ້ຈະເວົ້າເຖິງວິທີການໃຊ້ Nginx ເປັນເຊີຟເວີ HTTP, ກຳ ນົດຄ່າມັນເພື່ອຮັບໃຊ້ເນື້ອຫາຂອງເວບໄຊທ໌, ແລະຕັ້ງຄ່າໂຮດຕິ້ງທີ່ໃຊ້ຊື່, ແລະສ້າງແລະຕິດຕັ້ງ SSL ສຳ ລັບການສົ່ງຂໍ້ມູນທີ່ປອດໄພ, ລວມທັງໃບຢັ້ງຢືນທີ່ເຊັນດ້ວຍຕົນເອງໃນ Ubuntu ແລະ CentOS .
ວິທີຕິດຕັ້ງ Nginx Web Server
ເລີ່ມຕົ້ນໂດຍການຕິດຕັ້ງແພັກເກດ Nginx ຈາກຫໍສະ ໝຸດ ຢ່າງເປັນທາງການໂດຍໃຊ້ຜູ້ຈັດການຊຸດຂອງທ່ານດັ່ງທີ່ສະແດງໄວ້.
------------ On Ubuntu ------------ $ sudo apt update $ sudo apt install nginx ------------ On CentOS ------------ $ sudo yum update $ sudo yum install epel-release $ sudo yum install nginx
ຫຼັງຈາກແພັກເກດ Nginx ຖືກຕິດຕັ້ງແລ້ວ, ທ່ານຕ້ອງການເລີ່ມຕົ້ນໃຫ້ບໍລິການ ສຳ ລັບດຽວນີ້, ໃຫ້ມັນເລີ່ມຕົ້ນໂດຍອັດຕະໂນມັດໃນເວລາບູດແລະເບິ່ງສະຖານະຂອງມັນ, ໂດຍໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້. ໃຫ້ສັງເກດວ່າໃນ Ubuntu ມັນຄວນຈະເລີ່ມຕົ້ນແລະເປີດໃຊ້ງານໂດຍອັດຕະໂນມັດໃນຂະນະທີ່ແພັກເກັດຖືກຕັ້ງຄ່າໄວ້ລ່ວງ ໜ້າ.
$ sudo systemctl start nginx $ sudo systemctl enable nginx $ sudo systemctl status nginx
ໃນຈຸດນີ້, ເຄື່ອງແມ່ຂ່າຍເວັບໄຊຕ໌ Nginx ຄວນຈະຂຶ້ນແລະແລ່ນ, ທ່ານສາມາດກວດສອບສະຖານະພາບດ້ວຍຄໍາສັ່ງ netstat.
$ sudo netstat -tlpn | grep nginx
ຖ້າລະບົບຂອງທ່ານມີໄຟວໍທີ່ເປີດໃຊ້ງານ, ທ່ານຕ້ອງເປີດພອດ 80 ແລະ 443 ເພື່ອອະນຸຍາດໃຫ້ມີການຈາລະຈອນ HTTP ແລະ HTTPS ຕາມ ລຳ ດັບ, ຜ່ານມັນ, ໂດຍການເຮັດວຽກ.
------------ On CentOS ------------ $ sudo firewall-cmd --permanent --add-port=80/tcp $ sudo firewall-cmd --permanent --add-port=443/tcp $ sudo firewall-cmd --reload ------------ On Ubuntu ------------ $ sudo ufw allow 80/tcp $ sudo ufw allow 443/tcp $ sudo ufw reload
ວິທີການທີ່ ເໝາະ ສົມ ສຳ ລັບການທົດສອບການຕິດຕັ້ງ Nginx ແລະກວດເບິ່ງວ່າມັນ ກຳ ລັງໃຊ້ງານແລະສາມາດໃຊ້ບໍລິການເວບໄຊທ໌ໄດ້ໂດຍການເປີດເວັບບຼາວເຊີແລະຊີ້ໄປທີ່ IP ຂອງ server.
http://Your-IP-Address OR http://Your-Domain.com
ການຕິດຕັ້ງທີ່ເຮັດວຽກຄວນໄດ້ຮັບການຊີ້ບອກໂດຍ ໜ້າ ຈໍຕໍ່ໄປນີ້.
ວິທີການຕັ້ງຄ່າ Nginx Web Server
ແຟ້ມການຕັ້ງຄ່າຂອງ Nginx ແມ່ນຕັ້ງຢູ່ໃນໄດເລກະທໍລີ /etc/nginx
ແລະເອກະສານການຕັ້ງຄ່າທົ່ວໂລກຕັ້ງຢູ່ /etc/nginx/nginx.conf
ທັງ CentOS ແລະ Ubuntu.
Nginx ຖືກສ້າງຂື້ນຈາກໂມດູນທີ່ຄວບຄຸມໂດຍຕົວເລືອກການຕັ້ງຄ່າຕ່າງໆ, ເຊິ່ງເອີ້ນວ່າທິດທາງ. ຄຳ ສັ່ງແນະ ນຳ ສາມາດເປັນແບບງ່າຍດາຍ (ໃນຊື່ຮູບແບບແລະຄ່າທີ່ສິ້ນສຸດດ້ວຍລະຫັດ ;
) ຫຼືຕັນ (ມີ ຄຳ ແນະ ນຳ ເພີ່ມເຕີມໃສ່ໂດຍໃຊ້ {}
). ແລະ ຄຳ ສັ່ງຫ້າມທີ່ບັນຈຸທິດທາງອື່ນໆແມ່ນເອີ້ນວ່າສະພາບການ.
ທິດທາງທັງ ໝົດ ແມ່ນໄດ້ອະທິບາຍຢ່າງລະອຽດໃນເອກະສານ Nginx ໃນເວບໄຊທ໌ຂອງໂຄງການ. ທ່ານສາມາດອ້າງອີງໃສ່ຂໍ້ມູນເພີ່ມເຕີມ.
ໃນລະດັບພື້ນຖານ, Nginx ສາມາດຖືກ ນຳ ໃຊ້ເພື່ອຮັບໃຊ້ເນື້ອຫາທີ່ສະຖິດເຊັ່ນ: ເອກະສານ HTML ແລະເອກະສານສື່ມວນຊົນ, ໃນຮູບແບບແບບ standalone, ເຊິ່ງມີພຽງແຕ່ໃຊ້ block server ແບບ ທຳ ມະດາເທົ່ານັ້ນ (ປຽບທຽບກັບ Apache ບ່ອນທີ່ບໍ່ມີການ ກຳ ນົດຄ່າ virtual host).
ພວກເຮົາຈະເລີ່ມຕົ້ນໂດຍການອະທິບາຍໂດຍຫຍໍ້ກ່ຽວກັບໂຄງສ້າງການຕັ້ງຄ່າໃນເອກະສານການຕັ້ງຄ່າຕົ້ນຕໍ.
$ sudo vim /etc/nginx/nginx.conf
ຖ້າທ່ານເບິ່ງເຂົ້າໄປໃນເອກະສານການຕັ້ງຄ່າ Nginx ນີ້, ໂຄງສ້າງການຕັ້ງຄ່າຄວນຈະປາກົດເປັນດັ່ງຕໍ່ໄປນີ້ແລະມັນຖືກກ່າວເຖິງເປັນສະພາບຕົ້ນຕໍ, ເຊິ່ງປະກອບດ້ວຍຫຼາຍທິດທາງງ່າຍໆແລະອື່ນໆ. ການເຂົ້າຊົມເວັບໄຊຕ໌ທັງ ໝົດ ຖືກຈັດການກັບສະພາບການຂອງ http.
user nginx; worker_processes 1; ..... error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; ..... events { ..... } http { server{ ……. } ..... }
ຕໍ່ໄປນີ້ແມ່ນຕົວຢ່າງຂອງແຟ້ມການຕັ້ງຄ່າຕົ້ນຕໍຂອງ Nginx (/etc/nginx/nginx.conf), ບ່ອນທີ່ http block ຂ້າງເທິງມີ ຄຳ ສັ່ງລວມທີ່ບອກ Nginx ບ່ອນທີ່ຈະຊອກຫາເອກະສານການຕັ້ງຄ່າເວບໄຊທ໌ (ການຕັ້ງຄ່າໂຮດເສມືນ).
user www-data; worker_processes auto; pid /run/nginx.pid; events { worker_connections 768; # multi_accept on; } http { include /etc/nginx/mime.types; default_type application/octet-stream; include /etc/nginx/mime.types; default_type application/octet-stream; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; sendfile on; #tcp_nopush on; keepalive_timeout 65; #gzip on; include /etc/nginx/conf.d/*.conf; }
ໃຫ້ສັງເກດວ່າໃນ Ubuntu, ທ່ານຍັງຈະຊອກຫາ ຄຳ ສັ່ງເພີ່ມເຕີມທີ່ປະກອບມີ ຄຳ ສັ່ງ (ລວມ/etc/nginx/sites-enabled/*;), ບ່ອນທີ່ໄດເລກະທໍລີ/etc/nginx/sites-enable/stores symlinks ກັບໄຟລ໌ການຕັ້ງຄ່າເວັບໄຊທ໌ທີ່ຖືກສ້າງຂື້ນໃນ/etc/nginx/sites-available /, ເພື່ອເປີດໃຊ້ເວັບໄຊຕ່າງໆ. ແລະການລຶບເອກະສານເຊື່ອມໂຍງຈະເຮັດໃຫ້ເວັບໄຊທ໌ນັ້ນເສີຍຫາຍໄປ.
ອີງຕາມແຫຼ່ງຕິດຕັ້ງຂອງທ່ານ, ທ່ານຈະພົບກັບໄຟລ໌ການຕັ້ງຄ່າເວບໄຊທ໌ເລີ່ມຕົ້ນທີ່ /etc/nginx/conf.d/default.conf (ຖ້າທ່ານຕິດຕັ້ງຈາກບ່ອນເກັບຂໍ້ມູນ NGINX ຢ່າງເປັນທາງການແລະ EPEL) ຫຼື/etc/nginx/sites-enabled/default (ຖ້າທ່ານຕິດຕັ້ງຈາກຫໍໄຕ Ubuntu).
ນີ້ແມ່ນຕົວຢ່າງຂອງເຄື່ອງແມ່ຂ່າຍ nginx ຕົວຢ່າງຂອງພວກເຮົາຕັ້ງຢູ່ /etc/nginx/conf.d/default.conf ໃນລະບົບທົດສອບ.
server { listen 80 default_server; listen [::]:80 default_server; server_name _; root /var/www/html/; index index.html; location / { try_files $uri $uri/ =404; } }
ຄຳ ອະທິບາຍສັ້ນໆກ່ຽວກັບທິດທາງໃນການຕັ້ງຄ່າຂ້າງເທິງນີ້:
- ຟັງ: ລະບຸພອດທີ່ເຊີບເວີໄດ້ຟັງ.
- server_name: ກຳ ນົດຊື່ຂອງເຊີຟເວີເຊິ່ງສາມາດເປັນຊື່ແທ້, ຊື່ຕົວອັກສອນ ທຳ ມະດາ, ຫຼື ສຳ ນວນປົກກະຕິ.
- ຮາກ: ລະບຸໄດເລກະທໍລີທີ່ Nginx ຈະຮັບໃຊ້ ໜ້າ ເວັບແລະເອກະສານອື່ນໆ.
- ດັດສະນີ: ລະບຸປະເພດຂອງເອກະສານດັດສະນີທີ່ຕ້ອງໄດ້ຮັບໃຊ້.
- ສະຖານທີ່: ໃຊ້ໃນການປະມວນຜົນການຮ້ອງຂໍ ສຳ ລັບເອກະສານສະເພາະແລະແຟ້ມເອກະສານ.
ຈາກໂປຣແກຣມທ່ອງເວັບ, ເມື່ອທ່ານຊີ້ໄປທີ່ server ໂດຍໃຊ້ hostname localhost ຫລືທີ່ຢູ່ IP ຂອງມັນ, ມັນ ດຳ ເນີນການ ຄຳ ຮ້ອງຂໍແລະໃຫ້ບໍລິການແຟ້ມເອກະສານ /var/www/html/index.html, ແລະເກັບຮັກສາເຫດການໄວ້ໃນບັນທຶກການເຂົ້າເຖິງຂອງມັນ (/ var/log/nginx/access.log) ດ້ວຍ ຄຳ ຕອບ 200 (OK). ໃນກໍລະນີທີ່ມີຂໍ້ຜິດພາດ (ເຫດການທີ່ລົ້ມເຫລວ), ມັນຈະບັນທຶກຂໍ້ຄວາມຢູ່ໃນບັນທຶກຂໍ້ມູນຜິດພາດ (/var/log/nginx/error.log).
ເພື່ອຮຽນຮູ້ເພີ່ມເຕີມກ່ຽວກັບການຕັດໄມ້ຢູ່ Nginx, ທ່ານອາດຈະອ້າງເຖິງວິທີການ ກຳ ຫນົດຄ່າແບບຟອມການເຂົ້າເຖິງແບບ ກຳ ນົດເອງຫຼືແບບຜິດພາດໃນ log in Nginx.
ແທນທີ່ຈະໃຊ້ແຟ້ມບັນທຶກການຕັ້ງຄ່າເລີ່ມຕົ້ນ, ທ່ານສາມາດ ກຳ ນົດແຟ້ມບັນທຶກທີ່ ກຳ ນົດເອງ ສຳ ລັບເວບໄຊທ໌ທີ່ແຕກຕ່າງກັນ, ດັ່ງທີ່ພວກເຮົາຈະເບິ່ງໃນພາຍຫລັງ, ພາຍໃຕ້ຫົວຂໍ້“ ການຕັ້ງຄ່າໂຮດຕິ້ງຕາມຊື່ (ທ່ອນຂອງເຄື່ອງແມ່ຂ່າຍ)”.
ເພື່ອ ຈຳ ກັດການເຂົ້າເຖິງເວັບໄຊທ໌/ແອັບພລິເຄຊັນຂອງທ່ານຫຼືບາງສ່ວນຂອງມັນ, ທ່ານສາມາດຕັ້ງຄ່າການກວດສອບ HTTP ຂັ້ນພື້ນຖານ. ສິ່ງນີ້ສາມາດ ນຳ ໃຊ້ໄດ້ຢ່າງ ຈຳ ເປັນເພື່ອ ຈຳ ກັດການເຂົ້າເຖິງເຊີຟເວີ HTTP ທັງ ໝົດ, ບລັອກເຊີຟເວີສ່ວນບຸກຄົນຫຼືສະຖານທີ່ຕັ້ງ.
ເລີ່ມຕົ້ນໂດຍການສ້າງເອກະສານທີ່ຈະເກັບຂໍ້ມູນການເຂົ້າເຖິງຂອງທ່ານ (ຊື່ຜູ້ໃຊ້/ລະຫັດຜ່ານ) ໂດຍການໃຊ້ htpasswd utility.
$ yum install httpd-tools #RHEL/CentOS $ sudo apt install apache2-utils #Debian/Ubuntu
ເປັນຕົວຢ່າງ, ໃຫ້ທ່ານເພີ່ມຜູ້ເບິ່ງແຍງຜູ້ໃຊ້ເຂົ້າໃນບັນຊີນີ້ (ທ່ານສາມາດເພີ່ມຜູ້ໃຊ້ໃຫ້ຫຼາຍເທົ່າທີ່ເປັນໄປໄດ້), ບ່ອນທີ່ຕົວເລືອກ -c
ຖືກໃຊ້ເພື່ອລະບຸລະຫັດຜ່ານເອກະສານລະຫັດຜ່ານ, ແລະ -B
ເພື່ອເຂົ້າລະຫັດລັບ. ເມື່ອທ່ານກົດ [Enter], ທ່ານຈະຖືກຮ້ອງຂໍໃຫ້ໃສ່ລະຫັດຜ່ານຂອງຜູ້ໃຊ້:
$ sudo htpasswd -Bc /etc/nginx/conf.d/.htpasswd admin
ຫຼັງຈາກນັ້ນ, ໃຫ້ອະນຸຍາດໃຫ້ ກຳ ນົດສິດແລະຄວາມເປັນເຈົ້າຂອງທີ່ ເໝາະ ສົມໃຫ້ກັບເອກະສານລະຫັດລັບ (ແທນຜູ້ໃຊ້ແລະ nginx ຂອງກຸ່ມດ້ວຍ www-data ໃນ Ubuntu).
$ sudo chmod 640 /etc/nginx/conf.d/.htpasswd $ sudo chown nginx:nginx /etc/nginx/conf.d/.htpasswd
ດັ່ງທີ່ພວກເຮົາໄດ້ກ່າວມາກ່ອນ ໜ້າ ນີ້, ທ່ານສາມາດ ຈຳ ກັດການເຂົ້າເຖິງເວັບໄຊທ໌້ຂອງທ່ານ, ເວບໄຊທ໌ດຽວ (ໃຊ້ block server ຂອງມັນ) ຫຼືໄດເລກະທໍລີຫລືເອກະສານສະເພາະ. ສອງທິດທາງທີ່ເປັນປະໂຫຍດສາມາດຖືກ ນຳ ໃຊ້ເພື່ອບັນລຸເປົ້າ ໝາຍ ດັ່ງນີ້:
- auth_basic - ເປີດໃຊ້ຄວາມຖືກຕ້ອງຂອງຊື່ຜູ້ໃຊ້ແລະລະຫັດຜ່ານໂດຍໃຊ້ໂປແກຼມ“ HTTP Basic Authentication”.
- auth_basic_user_file - ລະບຸເອກະສານຂອງໃບຮັບຮອງ.
ເປັນຕົວຢ່າງ, ພວກເຮົາຈະສະແດງວິທີການປົກປ້ອງລະຫັດຜ່ານ/var/www/html/protected.
server { listen 80 default_server; server_name localhost; root /var/www/html/; index index.html; location / { try_files $uri $uri/ =404; } location /protected/ { auth_basic "Restricted Access!"; auth_basic_user_file /etc/nginx/conf.d/.htpasswd; } }
ຕອນນີ້, ບັນທຶກການປ່ຽນແປງແລະໃຫ້ບໍລິການ Nginx ຄືນ ໃໝ່.
$ sudo systemctl restart nginx
ຄັ້ງຕໍ່ໄປທີ່ທ່ານຊີ້ໂປແກຼມທ່ອງເວັບຂອງທ່ານໄປທີ່ໄດເລກະທໍລີຂ້າງເທິງ (http:// localhost/protected) ທ່ານຈະຖືກຮ້ອງຂໍໃຫ້ໃສ່ຂໍ້ມູນປະ ຈຳ ຕົວຂອງທ່ານ (ຊື່ຜູ້ໃຊ້ admin ແລະລະຫັດຜ່ານທີ່ທ່ານເລືອກ).
ການເຂົ້າສູ່ລະບົບສົບຜົນສໍາເລັດຊ່ວຍໃຫ້ທ່ານສາມາດເຂົ້າເຖິງເນື້ອໃນຂອງໄດເລກະທໍລີ, ຖ້າບໍ່ດັ່ງນັ້ນທ່ານຈະໄດ້ຮັບຂໍ້ຜິດພາດ“ 401 ທີ່ຕ້ອງການການອະນຸຍາດ”.
ວິທີການຕັ້ງຊື່ໂຮດຕິ້ງທີ່ມີຊື່ Virtual Server (Server Blocks) ໃນ Nginx
ສະພາບການຂອງເຊີຟເວີຊ່ວຍໃຫ້ຫລາຍໆໂດເມນ/ເວັບໄຊທ໌້ເກັບມ້ຽນຢູ່ໃນແລະບໍລິການຈາກເຄື່ອງຈັກທາງກາຍະພາບດຽວກັນຫລືເຄື່ອງແມ່ຂ່າຍເອກະຊົນແບບເສມືນ (VPS). ຫລາຍບລັອກເຊີຟເວີ (ເປັນຕົວແທນຂອງເຈົ້າພາບເສມືນ) ສາມາດປະກາດພາຍໃນສະພາບການຂອງ http ສຳ ລັບແຕ່ລະເວັບໄຊ/ໂດເມນ. Nginx ຕັດສິນໃຈວ່າເຊີຟເວີໃດປະມວນຜົນການຮ້ອງຂໍໂດຍອີງໃສ່ຫົວຂໍ້ ຄຳ ຮ້ອງຂໍທີ່ມັນໄດ້ຮັບ.
ພວກເຮົາຈະສະແດງແນວຄວາມຄິດນີ້ໂດຍໃຊ້ໂດເມນ dummy ຕໍ່ໄປນີ້, ແຕ່ລະບ່ອນຕັ້ງຢູ່ໃນໄດເລກະທໍລີທີ່ລະບຸໄວ້:
- wearelinux-console.net - /var/www/html/wearelinux-console.net/
- welovelinux.com - /var/www/html/welovelinux.com/
ຕໍ່ໄປ, ມອບ ໝາຍ ສິດທີ່ ເໝາະ ສົມໃນໄດເລກະທໍລີ ສຳ ລັບແຕ່ລະເວັບໄຊ.
$ sudo chmod -R 755 /var/www/html/wearelinux-console.net/public_html $ sudo chmod -R 755 /var/www/html/welovelinux.com/public_html
ຕອນນີ້, ສ້າງແຟ້ມ index.html ຕົວຢ່າງພາຍໃນແຕ່ລະຮວບຮວມ public_html.
<html> <head> <title>www.wearelinux-console.net</title> </head> <body> <h1>This is the index page of www.wearelinux-console.net</h1> </body> </html>
ຕໍ່ໄປ, ສ້າງແຟ້ມການຕັ້ງຄ່າບລັອກເຊີຟເວີ ສຳ ລັບແຕ່ລະເວັບໄຊທ໌ພາຍໃນໄດເລກະທໍລີ /etc/httpd/conf.d.
$ sudo vi /etc/nginx/conf.d/wearelinux-console.net.conf $ sudo vi /etc/nginx/conf.d/welovelinux.com.conf
ຕື່ມການປະກາດ block server ຕໍ່ໄປນີ້ໃນ file wearelinux-console.net.conf.
server { listen 80; server_name wearelinux-console.net; root /var/www/html/wearelinux-console.net/public_html ; index index.html; location / { try_files $uri $uri/ =404; } }
ຕໍ່ໄປ, ຕື່ມການປະກາດບລັອກຂອງເຄື່ອງແມ່ຂ່າຍຕໍ່ໄປນີ້ໃນເອກະສານ welovelinux.com.conf.
server { listen 80; server_name welovelinux.com; root /var/www/html/welovelinux.com/public_html; index index.html; location / { try_files $uri $uri/ =404; } }
ເພື່ອປະຕິບັດການປ່ຽນແປງທີ່ຜ່ານມາ, ເລີ່ມຕົ້ນເຄື່ອງແມ່ຂ່າຍເວັບໄຊຕ໌ Nginx.
$ sudo systemctl restart nginx
ແລະການຊີ້ເຄື່ອງແມ່ຂ່າຍເວັບຂອງທ່ານໄປທີ່ຢູ່ຂ້າງເທິງນີ້ຄວນເຮັດໃຫ້ທ່ານເຫັນ ໜ້າ ຫລັກຂອງໂດເມນທີ່ບໍ່ຖືກຕ້ອງ.
http://wearelinux-console.net http://welovelinux.com
ສິ່ງ ສຳ ຄັນ: ຖ້າທ່ານເປີດໃຊ້ SELinux, ການຕັ້ງຄ່າເລີ່ມຕົ້ນຂອງມັນຈະບໍ່ອະນຸຍາດໃຫ້ Nginx ເຂົ້າເຖິງແຟ້ມທີ່ຢູ່ນອກສະຖານທີ່ທີ່ໄດ້ຮັບອະນຸຍາດທີ່ມີຊື່ສຽງ (ເຊັ່ນ// etc/nginx ສຳ ລັບການຕັ້ງຄ່າ,/var/log/nginx ສຳ ລັບບັນທຶກ,/var/www/html ສຳ ລັບແຟ້ມເອກະສານແລະອື່ນໆ .. ).
ທ່ານສາມາດຈັດການກັບສິ່ງນີ້ໄດ້ໂດຍການປິດ SELinux, ຫຼືການຕັ້ງຄ່າສະພາບຄວາມປອດໄພທີ່ຖືກຕ້ອງ. ສຳ ລັບຂໍ້ມູນເພີ່ມເຕີມ, ອ້າງອີງເຖິງ ຄຳ ແນະ ນຳ ນີ້: ການ ນຳ ໃຊ້ Nginx ແລະ Nginx Plus ກັບ SELinux ໃນເວັບໄຊທ໌ Nginx Plus.
ວິທີການຕິດຕັ້ງແລະການຕັ້ງຄ່າ SSL ກັບ Nginx
ໃບຢັ້ງຢືນ SSL ຊ່ວຍໃນການເຮັດໃຫ້ http (HTTPS) ປອດໄພໃນເວັບໄຊທ໌້ຂອງທ່ານ, ເຊິ່ງເປັນສິ່ງ ຈຳ ເປັນໃນການສ້າງການເຊື່ອມຕໍ່ທີ່ເຊື່ອຖືໄດ້/ປອດໄພລະຫວ່າງຜູ້ ນຳ ໃຊ້ກັບ server ຂອງທ່ານໂດຍການເຂົ້າລະຫັດຂໍ້ມູນທີ່ຖືກສົ່ງຕໍ່, ຈາກ, ຫຼືພາຍໃນເວັບໄຊທ໌ຂອງທ່ານ.
ພວກເຮົາຈະກວມເອົາວິທີການສ້າງແລະຕິດຕັ້ງໃບຢັ້ງຢືນທີ່ໄດ້ເຊັນດ້ວຍຕົນເອງ, ແລະສ້າງ ຄຳ ຮ້ອງຂໍເຊັນໃບຢັ້ງຢືນ (CSR) ເພື່ອຂໍໃບຢັ້ງຢືນ SSL ຈາກຜູ້ມີໃບຢັ້ງຢືນ (CA), ເພື່ອ ນຳ ໃຊ້ກັບ Nginx.
ໃບຢັ້ງຢືນທີ່ເຊັນດ້ວຍຕົນເອງແມ່ນສາມາດສ້າງໄດ້ໂດຍບໍ່ເສຍຄ່າແລະມີປະສິດຕິພາບດີທີ່ຈະໄປ ສຳ ລັບຈຸດປະສົງການທົດສອບແລະ ສຳ ລັບການບໍລິການພາຍໃນ LAN ເທົ່ານັ້ນ. ສຳ ລັບເຊີຟເວີທີ່ປະເຊີນ ໜ້າ ກັບສາທາລະນະ, ມັນໄດ້ຖືກແນະ ນຳ ໃຫ້ໃຊ້ໃບຢັ້ງຢືນທີ່ອອກໂດຍ CA (ຕົວຢ່າງ Let’s Encrypt) ເພື່ອຮັກສາຄວາມແທ້ຈິງຂອງມັນ.
ເພື່ອສ້າງໃບຢັ້ງຢືນທີ່ເຊັນດ້ວຍຕົນເອງ, ທຳ ອິດສ້າງໄດເລກະທໍລີທີ່ໃບຢັ້ງຢືນຂອງທ່ານຈະຖືກເກັບໄວ້.
$ sudo mkdir /etc/nginx/ssl-certs/
ຫຼັງຈາກນັ້ນ, ສ້າງໃບຢັ້ງຢືນທີ່ໄດ້ລົງນາມດ້ວຍຕົນເອງແລະລະຫັດຫຼັກໂດຍໃຊ້ເຄື່ອງມືເປີດເສັ້ນ ຄຳ ສັ່ງ opensl.
$ sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl-certs/nginx.key -out /etc/nginx/ssl-certs/nginx.crt
ໃຫ້ອະທິບາຍສັ້ນໆກ່ຽວກັບທາງເລືອກຕ່າງໆທີ່ໃຊ້ໃນ ຄຳ ສັ່ງຂ້າງເທິງນີ້:
- req -X509 - ສະແດງວ່າພວກເຮົາ ກຳ ລັງສ້າງໃບຢັ້ງຢືນ x509.
- ລະຫັດ (ບໍ່ມີ) - ໝາຍ ຄວາມວ່າ "ບໍ່ເຂົ້າລະຫັດລະຫັດ".
- -days 365 - ລະບຸ ຈຳ ນວນມື້ທີ່ໃບຢັ້ງຢືນຈະຖືກຕ້ອງ ສຳ ລັບ.
- -Nekeykey rsa: 2048 - ລະບຸວ່າຄີທີ່ຜະລິດໂດຍໃຊ້ RSA algorithm ຄວນຈະເປັນ 2048-bit.
- -keyout /etc/nginx/ssl-certs/nginx.key - ລະບຸເສັ້ນທາງເຕັມຂອງປຸ່ມ RSA.
- -out /etc/nginx/ssl-certs/nginx.crt - ລະບຸເສັ້ນທາງເຕັມຂອງໃບຢັ້ງຢືນ.
ຕໍ່ໄປ, ເປີດແຟ້ມການຕັ້ງຄ່າໂຮດຕິ້ງຂອງທ່ານແລະເພີ່ມສາຍຕໍ່ໄປນີ້ໃນການປະກາດເຊີຟເວີຟັງຢູ່ທີ່ port 443. ພວກເຮົາຈະທົດສອບກັບເອກະສານໂຮດຕິ້ງ virtual /etc/nginx/conf.d/wearelinux-console.net.conf.
$ sudo vi /etc/nginx/conf.d/wearelinux-console.net.conf
ຫຼັງຈາກນັ້ນຕື່ມ ຄຳ ສັ່ງ ssl ເຂົ້າໃນໄຟລ໌ການຕັ້ງຄ່າ nginx, ມັນຄວນມີລັກສະນະຄ້າຍຄືກັບຂ້າງລຸ່ມນີ້.
server { listen 80; listen [::]:80; listen 443 ssl; listen [::]:443 ssl; ssl on; ssl_certificate /etc/nginx/ssl-certs/nginx.crt; ssl_trusted_certificate /etc/nginx/ssl-certs/nginx.crt; ssl_certificate_key /etc/nginx/ssl-certs/nginx.key; server_name wearelinux-console.net; root /var/www/html/wearelinux-console.net/public_html; index index.html; location / { try_files $uri $uri/ =404; } }
ຕອນນີ້ເລີ່ມ Nginx ແລ້ວຊີ້ Browser ຂອງທ່ານໄປທີ່ທີ່ຢູ່ຕໍ່ໄປນີ້.
https://www.wearelinux-console.net
ຖ້າທ່ານຕ້ອງການຊື້ໃບຢັ້ງຢືນ SSL ຈາກ CA, ທ່ານ ຈຳ ເປັນຕ້ອງສ້າງ ຄຳ ຮ້ອງຂໍເຊັນໃບຢັ້ງຢືນ (CSR) ຕາມທີ່ສະແດງ.
$ sudo openssl req -newkey rsa:2048 -nodes -keyout /etc/nginx/ssl-certs/example.com.key -out /etc/nginx/ssl-certs/example.com.csr
ທ່ານຍັງສາມາດສ້າງ CSR ຈາກຄີສ່ວນຕົວທີ່ມີຢູ່.
$ sudo openssl req -key /etc/nginx/ssl-certs/example.com.key -new -out /etc/nginx/ssl-certs/example.com.csr
ຈາກນັ້ນ, ທ່ານ ຈຳ ເປັນຕ້ອງສົ່ງ CSR ທີ່ຜະລິດໄປທີ່ CA ເພື່ອຮ້ອງຂໍໃຫ້ອອກໃບຢັ້ງຢືນ SSL ທີ່ເຊັນໂດຍ CA. ເມື່ອທ່ານໄດ້ຮັບໃບຢັ້ງຢືນຂອງທ່ານຈາກ CA, ທ່ານສາມາດຕັ້ງຄ່າໄດ້ຕາມຮູບຂ້າງເທິງ.
ໃນບົດຂຽນນີ້, ພວກເຮົາໄດ້ອະທິບາຍວິທີການຕິດຕັ້ງແລະ ກຳ ນົດ Nginx; ກວມເອົາວິທີການຕັ້ງຄ່າໂຮດຕິ້ງເສມືນທີ່ມີຊື່ກັບ SSL ເພື່ອຮັບປະກັນການສົ່ງຂໍ້ມູນລະຫວ່າງເຄື່ອງແມ່ຂ່າຍເວັບແລະລູກຄ້າ
ຖ້າທ່ານໄດ້ປະສົບກັບບັນຫາທີ່ລົ້ມເຫລວໃນລະຫວ່າງຂັ້ນຕອນການຕິດຕັ້ງ/ການຕັ້ງຄ່າ nginx ຂອງທ່ານຫຼືມີ ຄຳ ຖາມຫລື ຄຳ ເຫັນ, ໃຫ້ໃຊ້ແບບຟອມ ຄຳ ເຫັນຂ້າງລຸ່ມນີ້ເພື່ອຕິດຕໍ່ຫາພວກເຮົາ.