SSL ഉപയോഗിച്ച് Nginx എങ്ങനെ സുരക്ഷിതമാക്കാം, നമുക്ക് FreeBSD-യിൽ എൻക്രിപ്റ്റ് ചെയ്യാം


ലെറ്റ്സ് എൻക്രിപ്റ്റ് സർട്ടിഫിക്കറ്റ് അതോറിറ്റി വാഗ്ദാനം ചെയ്യുന്ന TLS/SSL സർട്ടിഫിക്കറ്റുകൾ ഉപയോഗിച്ച് FreeBSD-യിൽ Nginx വെബ് സെർവർ എങ്ങനെ സുരക്ഷിതമാക്കാമെന്ന് ഈ ഗൈഡിൽ ഞങ്ങൾ ചർച്ച ചെയ്യും. കാലഹരണപ്പെടുന്ന തീയതിക്ക് മുമ്പ് ലെറ്റ്സിന്റെ എൻക്രിപ്റ്റ് സർട്ടിഫിക്കറ്റുകൾ എങ്ങനെ സ്വയമേവ പുതുക്കാമെന്നും ഞങ്ങൾ നിങ്ങളെ കാണിക്കും.

ട്രാൻസ്uപോർട്ട് ലെയർ സെക്യൂരിറ്റിയുടെ ചുരുക്കപ്പേരായ TLS, HTTP പ്രോട്ടോക്കോളിന് കീഴിൽ പ്രവർത്തിക്കുന്ന ഒരു പ്രോട്ടോക്കോളാണ്, കൂടാതെ ഒരു സെർവറും ക്ലയന്റും തമ്മിൽ കൈമാറ്റം ചെയ്യപ്പെടുന്ന ഡാറ്റ പാക്കറ്റുകളും എൻക്രിപ്റ്റും ചെയ്യുന്നതിനായി സർട്ടിഫിക്കറ്റുകളും കീകളും ഉപയോഗിക്കുന്നു, അല്ലെങ്കിൽ ഈ സാഹചര്യത്തിൽ Nginx വെബ് സെർവറിനും ക്ലയന്റിനും ബ്രൗസർ, കണക്ഷൻ സുരക്ഷിതമാക്കുന്നതിനായി, ട്രാഫിക് തടസ്സപ്പെടുത്തുന്ന ഒരു മൂന്നാം കക്ഷിക്ക് ട്രാൻസ്മിഷൻ ഡീക്രിപ്റ്റ് ചെയ്യാൻ കഴിയില്ല.

സർട്ടിഫിക്കറ്റുകൾ സൃഷ്ടിക്കുന്നതിനും ഡൗൺലോഡ് ചെയ്യുന്നതിനും ഉപയോഗിക്കുന്ന ഔദ്യോഗിക ലെറ്റ്സ് എൻക്രിപ്റ്റ് ക്ലയന്റ് ആയ certboot ക്ലയന്റ് യൂട്ടിലിറ്റി ഇൻസ്റ്റാൾ ചെയ്യുന്നതിലൂടെ FreeBSD-യിൽ സൗജന്യ ലെറ്റ്സ് എൻക്രിപ്റ്റ് സർട്ടിഫിക്കറ്റ് നേടുന്നതിനുള്ള പ്രക്രിയ വളരെ ലളിതമാക്കാം.

  1. FBEMP (Nginx, MariaDB, PHP) സ്റ്റാക്ക് ഫ്രീബിഎസ്ഡിയിൽ ഇൻസ്റ്റാൾ ചെയ്യുക

ഘട്ടം 1: Nginx TLS/SSL കോൺഫിഗർ ചെയ്യുക

1. ഡിഫോൾട്ടായി, TLS/SSL സെർവർ കോൺഫിഗറേഷൻ FreeBSD-യിൽ പ്രവർത്തനക്ഷമമാക്കിയിട്ടില്ല, കാരണം TLS സെർവർ ബ്ലോക്ക് സ്റ്റേറ്റ്uമെന്റുകൾ Nginx ഡിഫോൾട്ട് കോൺഫിഗറേഷൻ ഫയലിൽ കമന്റ് ചെയ്തിരിക്കുന്നു.

Nginx-ൽ TLS സെർവർ സജീവമാക്കുന്നതിന്, nginx.conf കോൺഫിഗറേഷൻ ഫയൽ തുറക്കുക, SSL സെർവറിന്റെ ആരംഭം നിർവചിക്കുന്ന വരികൾക്കായി തിരയുക, താഴെയുള്ള സാമ്പിളിൽ കാണുന്നതുപോലെ മുഴുവൻ ബ്ലോക്കും അപ്uഡേറ്റ് ചെയ്യുക.

# nano /usr/local/etc/nginx/nginx.conf

Nginx HTTPS ബ്ലോക്ക് ഉദ്ധരണി:

server {
       listen 443 ssl  default_server;
       server_name  www.yourdomain.com;
	
	access_log /var/log/nginx/access.log;
	error_log /var/log/nginx/error.log;
	error_page   500 502 503 504  /50x.html;
        
	location = /50x.html {
            root   /usr/local/www/nginx-dist;
        }
	
	location / {
	    root   /usr/local/www/nginx;
       	    index  index.html index.htm;
	    try_files $uri $uri/ /index.php?$args;
				}

	ssl_certificate "/usr/local/etc/letsencrypt/live/www.yourdomain.com/cert.pem";
	ssl_certificate_key "/usr/local/etc/letsencrypt/live/www.yourdomain.com/privkey.pem";
	ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
	ssl_dhparam /usr/local/etc/nginx/dhparam.pem;
	ssl_session_cache shared:SSL:1m;
	ssl_session_timeout 10m;
	ssl_ciphers HIGH:!aNULL:!MD5;
	ssl_prefer_server_ciphers  on;

	# Use gzip compression
gzip on;
gzip_disable "msie6";
gzip_vary on;
gzip_proxied any;
gzip_comp_level 5;
gzip_buffers 16 8k;
gzip_http_version 1.0;

	# Set a variable to work around the lack of nested conditionals
	
	set $cache_uri $request_uri;
	
	location ~ /.well-known {
	allow all;
		}
    


        location ~ \.php$ {
        root	/usr/local/www/nginx;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        #fastcgi_param  SCRIPT_FILENAME /scripts$fastcgi_script_name;
        fastcgi_param SCRIPT_FILENAME $request_filename;    
		include        fastcgi_params;
        }	
    }

മുകളിലെ ബ്ലോക്കിൽ, SSL ബ്ലോക്കിന് പുറമേ, ചലനാത്മക വെബ് ആപ്ലിക്കേഷനുകൾ പ്രവർത്തിപ്പിക്കുന്നതിനായി PHP-FPM ഗേറ്റ്uവേയിലേക്ക് PHP കോഡ് കൈമാറുന്നതിനായി ഉപയോഗിക്കുന്ന gzip കംപ്രഷൻ, FastCGI പ്രോസസ് മാനേജർ എന്നിവ പ്രവർത്തനക്ഷമമാക്കുന്നതിനുള്ള ചില പ്രസ്താവനകളും അടങ്ങിയിരിക്കുന്നു.

നിങ്ങൾ Nginx പ്രധാന കോൺഫിഗറേഷൻ ഫയലിലേക്ക് മുകളിലുള്ള കോഡ് ചേർത്ത ശേഷം, ഡെമൺ പുനരാരംഭിക്കരുത് അല്ലെങ്കിൽ നിങ്ങളുടെ ഡൊമെയ്uനിനായി ലെറ്റ്സ് എൻക്രിപ്റ്റ് സർട്ടിഫിക്കറ്റ് ഇൻസ്uറ്റാൾ ചെയ്ത് നേടുന്നതിന് മുമ്പ് ക്രമീകരണങ്ങൾ പ്രയോഗിക്കരുത്.

ഘട്ടം 2: FreeBSD-യിൽ Certbot ക്ലയന്റ് ഇൻസ്റ്റാൾ ചെയ്യുക

2. FreeBSD-യിൽ Let's Encrypt certbot ക്ലയന്റ് യൂട്ടിലിറ്റി ഇൻസ്റ്റാൾ ചെയ്യുന്ന പ്രക്രിയയിൽ താഴെ പറയുന്ന കമാൻഡുകൾ നൽകി py-certbot-ന്റെ സോഴ്സ് കോഡ് ഡൗൺലോഡ് ചെയ്യുകയും പ്രാദേശികമായി കംപൈൽ ചെയ്യുകയും ചെയ്യുന്നു.

# cd /usr/ports/security/py-certbot
# make install clean

3. ഒരു സാധാരണ ബൈനറി പാക്കേജ് ഇൻസ്റ്റാൾ ചെയ്യുന്നതുമായി താരതമ്യപ്പെടുത്തുമ്പോൾ py-certbot യൂട്ടിലിറ്റി കംപൈൽ ചെയ്യുന്നതിന് വളരെയധികം സമയമെടുക്കും. ഈ സമയത്ത്, ഫ്രീബിഎസ്ഡിയിൽ പ്രാദേശികമായി കംപൈൽ ചെയ്ത ഡിപൻഡൻസികളുടെ ഒരു പരമ്പര ഡൗൺലോഡ് ചെയ്യേണ്ടതുണ്ട്.

കൂടാതെ, ഓരോ ഡിപൻഡൻസിക്കും കംപൈൽ സമയത്ത് ഏതൊക്കെ പാക്കേജുകളാണ് ഉപയോഗിക്കേണ്ടതെന്ന് തിരഞ്ഞെടുക്കാൻ ആവശ്യപ്പെടുന്ന നിർദ്ദേശങ്ങളുടെ ഒരു പരമ്പര നിങ്ങളുടെ സ്ക്രീനിൽ ദൃശ്യമാകും. ആദ്യ സ്ക്രീനിൽ, താഴെയുള്ള ചിത്രത്തിൽ ചിത്രീകരിച്ചിരിക്കുന്നതുപോലെ, പൈത്തൺ27 ഡിപൻഡൻസി കംപൈൽ ചെയ്യുന്നതിന് [സ്പെയ്സ്] കീ അമർത്തി ഇനിപ്പറയുന്ന ടൂളുകൾ തിരഞ്ഞെടുക്കുക.

  • IPV6
  • LIBFFI
  • NLS
  • PYMALLOC
  • ത്രെഡുകൾ
  • യൂണിക്കോഡ് പിന്തുണയ്uക്കുള്ള UCS4

4. അടുത്തതായി, gettext-tools ആശ്രിതത്വത്തിനായി ഡോക്uസും ത്രെഡും തിരഞ്ഞെടുത്ത് ചുവടെയുള്ള ചിത്രത്തിൽ കാണിച്ചിരിക്കുന്നതുപോലെ തുടരുന്നതിന് ശരി അമർത്തുക.

5. അടുത്ത സ്ക്രീനിൽ libffi-3.2.1-ന് വേണ്ടി TESTS ഓപ്uഷൻ അപ്രാപ്uതമാക്കിയിട്ട് മുന്നോട്ട് പോകാൻ OK അമർത്തുക.

6. അടുത്തതായി, ഈ ടൂളിനുള്ള ഡോക്യുമെന്റേഷൻ ഇൻസ്റ്റാൾ ചെയ്യുന്ന py27-enum34 ഡിപൻഡൻസിക്കായി DOCS തിരഞ്ഞെടുക്കുന്നതിന് സ്uപെയ്uസ് അമർത്തുക, തുടർന്ന് താഴെയുള്ള സ്uക്രീൻഷോട്ടിൽ ചിത്രീകരിച്ചിരിക്കുന്നത് പോലെ തുടരുന്നതിന് ശരി അമർത്തുക.

7. അവസാനമായി, py27-openssl ഡിപൻഡൻസിക്ക് വേണ്ടിയുള്ള ഉദാഹരണ സാമ്പിളുകൾ ഇൻസ്റ്റാൾ ചെയ്യാൻ തിരഞ്ഞെടുക്കുക [സ്പേസ്] കീ അമർത്തി, py-certbot ക്ലയന്റിനായുള്ള കംപൈലേഷനും ഇൻസ്റ്റാളേഷൻ പ്രക്രിയയും പൂർത്തിയാക്കാൻ ശരി അമർത്തുക.

8. py-certbot യൂട്ടിലിറ്റി കംപൈൽ ചെയ്യുന്നതിനും ഇൻസ്റ്റാൾ ചെയ്യുന്നതിനുമുള്ള പ്രക്രിയ പൂർത്തിയായ ശേഷം, താഴെയുള്ള സ്ക്രീൻഷോട്ടുകളിൽ ചിത്രീകരിച്ചിരിക്കുന്നത് പോലെ പാക്കേജിന്റെ ഏറ്റവും പുതിയ പതിപ്പിൽ ടൂൾ അപ്ഗ്രേഡ് ചെയ്യുന്നതിന് താഴെയുള്ള കമാൻഡ് പ്രവർത്തിപ്പിക്കുക.

# pkg install py27-certbot

9. ഒരു സൗജന്യ ലെറ്റ്സ് എൻക്രിപ്റ്റ് സർട്ടിഫിക്കറ്റ് ലഭിക്കുമ്പോൾ ഇത് സംഭവിക്കാനിടയുള്ള ചില പ്രശ്നങ്ങൾ ഒഴിവാക്കുന്നതിന്, ഏറ്റവും സാധാരണമായ പിശക് \pkg_resources.DistributionNotFound ആണ്, ഇനിപ്പറയുന്ന രണ്ട് ഡിപൻഡൻസികളും നിങ്ങളുടെ സിസ്റ്റത്തിൽ ഉണ്ടെന്ന് ഉറപ്പാക്കുക: py27-salt, py27- acme.

# pkg install py27-salt
# pkg install py27-acme

ഘട്ടം 3: FreeBSD-യിൽ Nginx-നായി നമുക്ക് എൻക്രിപ്റ്റ് സർട്ടിഫിക്കറ്റ് ഇൻസ്റ്റാൾ ചെയ്യുക

10. നിങ്ങളുടെ ഡൊമെയ്uനിനായി നമുക്ക് ഒരു സ്വതന്ത്ര സർട്ടിഫിക്കറ്റ് എൻക്രിപ്റ്റ് ചെയ്യുന്നതിനായി, ഇനിപ്പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിച്ച് നിങ്ങൾക്ക് ഡൊമെയ്ൻ നാമവും -d ഫ്ലാഗ് സൂചിപ്പിച്ചുകൊണ്ട് നിങ്ങൾക്ക് സർട്ടിഫിക്കറ്റുകൾ നേടാൻ ആഗ്രഹിക്കുന്ന എല്ലാ സബ്ഡൊമെയ്uനുകളും നൽകുക.

# certbot certonly --standalone -d yourdomain.com -d www.yourdomain.com

11. സർട്ടിഫിക്കറ്റ് സൃഷ്ടിക്കുമ്പോൾ നിങ്ങളുടെ ഇമെയിൽ വിലാസം നൽകാനും സേവന നിബന്ധനകൾ എൻക്രിപ്റ്റ് ചെയ്യാനും നിങ്ങളോട് ആവശ്യപ്പെടും. അംഗീകരിക്കാനും തുടരാനും കീബോർഡിൽ നിന്ന് a ടൈപ്പ് ചെയ്യുക, നിങ്ങളുടെ ഇമെയിൽ വിലാസം ലെറ്റ്സ് എൻക്രിപ്റ്റ് പാർട്ണർമാരുമായി പങ്കിടാൻ നിങ്ങൾ തയ്യാറാണോ എന്നും നിങ്ങളോട് ചോദിക്കും.

നിങ്ങളുടെ ഇമെയിൽ വിലാസം പങ്കിടാൻ താൽപ്പര്യമില്ലെങ്കിൽ, തുടരാൻ പ്രോംപ്റ്റിൽ no വാക്ക് ടൈപ്പ് ചെയ്ത് [enter] കീ അമർത്തുക. നിങ്ങളുടെ ഡൊമെയ്uനിനായുള്ള സർട്ടിഫിക്കറ്റുകൾ വിജയകരമായി നേടിയ ശേഷം, നിങ്ങളുടെ സിസ്റ്റത്തിൽ സർട്ടിഫിക്കറ്റുകൾ എവിടെയാണ് സൂക്ഷിച്ചിരിക്കുന്നതെന്നും അവ കാലഹരണപ്പെടുമ്പോഴും നിങ്ങളെ അറിയിക്കുന്ന ചില പ്രധാനപ്പെട്ട കുറിപ്പുകൾ നിങ്ങൾക്ക് ലഭിക്കും.

12. നിങ്ങളുടെ ഡൊമെയ്uനിനായി Nginx സെർവറിന്റെ വെബ്uറൂട്ട് ഡയറക്uടറി ചേർത്ത് “webroot” പ്ലഗിൻ ഉപയോഗിച്ച് നമുക്ക് എൻക്രിപ്റ്റ് സർട്ടിഫിക്കറ്റ് ലഭിക്കണമെങ്കിൽ, --webroot, എന്നിവ ഉപയോഗിച്ച് ഇനിപ്പറയുന്ന കമാൻഡ് നൽകുക -w പതാകകൾ. സ്ഥിരസ്ഥിതിയായി, നിങ്ങൾ Nginx വെബ്uറൂട്ട് പാത്ത് മാറ്റിയിട്ടില്ലെങ്കിൽ, അത് /usr/local/www/nginx/ സിസ്റ്റം പാത്തിൽ സ്ഥിതിചെയ്യണം.

# certbot certonly --webroot -w /usr/local/www/nginx/ -d yourdomain.com -d www.yourdomain.com

ഒരു സർട്ടിഫിക്കറ്റ് നേടുന്നതിനുള്ള --strandalone നടപടിക്രമം പോലെ, --webroot നടപടിക്രമം, സർട്ടിഫിക്കറ്റ് പുതുക്കലിനും സുരക്ഷാ അറിയിപ്പുകൾക്കുമായി ഒരു ഇമെയിൽ വിലാസം നൽകാൻ നിങ്ങളോട് ആവശ്യപ്പെടും, < അമർത്തുക. കോഡ്>a നമുക്ക് നിബന്ധനകളും വ്യവസ്ഥകളും എൻക്രിപ്റ്റ് ചെയ്യാം കൂടാതെ ഇമെയിൽ വിലാസത്തിലേക്ക് no അല്ലെങ്കിൽ yes അല്ലെങ്കിൽ പങ്കിടാതിരിക്കുക, ചുവടെയുള്ള സാമ്പിളിൽ ചിത്രീകരിച്ചിരിക്കുന്നതുപോലെ പങ്കാളികളെ എൻക്രിപ്റ്റ് ചെയ്യാം.

certbot ക്ലയന്റിന് ഒരു വ്യാജ ഇമെയിൽ വിലാസം കണ്ടെത്താനാകുമെന്നും നിങ്ങൾ ഒരു യഥാർത്ഥ ഇമെയിൽ വിലാസം നൽകുന്നത് വരെ ഒരു സർട്ടിഫിക്കറ്റ് സൃഷ്ടിക്കുന്നത് തുടരാൻ നിങ്ങളെ അനുവദിക്കില്ലെന്നും അറിഞ്ഞിരിക്കുക.

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel):[email   #A fake email address will be detected
There seem to be problems with that address. Enter email address (used for
urgent renewal and security notices)  If you really want to skip this, you can
run the client with --register-unsafely-without-email but make sure you then
backup your account key from /etc/letsencrypt/accounts   (Enter 'c' to cancel):[email 

-------------------------------------------------------------------------------
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.1.1-August-1-2016.pdf. You must agree
in order to register with the ACME server at
https://acme-v01.api.letsencrypt.org/directory
-------------------------------------------------------------------------------
(A)gree/(C)ancel: a ------------------------------------------------------------------------------- Would you be willing to share your email address with the Electronic Frontier Foundation, a founding partner of the Let's Encrypt project and the non-profit organization that develops Certbot? We'd like to send you email about EFF and our work to encrypt the web, protect its users and defend digital rights. ------------------------------------------------------------------------------- (Y)es/(N)o: n Obtaining a new certificate Performing the following challenges: http-01 challenge for www.domain.com Using the webroot path /usr/local/www/nginx/ for all unmatched domains. Waiting for verification... Cleaning up challenges IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at /usr/local/etc/letsencrypt/live/www.yourdomain.com/fullchain.pem. Your cert will expire on 2017-12-28. To obtain a new or tweaked version of this certificate in the future, simply run certbot again. To non-interactively renew *all* of your certificates, run "certbot renew" - Your account credentials have been saved in your Certbot configuration directory at /usr/local/etc/letsencrypt. You should make a secure backup of this folder now. This configuration directory will also contain certificates and private keys obtained by Certbot so making regular backups of this folder is ideal. - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le

ഘട്ടം 4: Nginx TLS സർട്ടിഫിക്കറ്റുകൾ അപ്ഡേറ്റ് ചെയ്യുക

13. ഫ്രീബിഎസ്ഡിയിൽ ലഭിച്ച ലെറ്റ്സ് എൻക്രിപ്റ്റ് സർട്ടിഫിക്കറ്റുകളുടെയും കീകളുടെയും സ്ഥാനം /usr/local/etc/letsencrypt/live/www.yourdomain.com/ സിസ്റ്റം പാത്ത് ആണ്. നിങ്ങളുടെ ലെറ്റ്സ് എൻക്രിപ്റ്റ് സർട്ടിഫിക്കറ്റിന്റെ ഘടകങ്ങൾ പ്രദർശിപ്പിക്കുന്നതിന് ls കമാൻഡ് നൽകുക: ചെയിൻ ഫയൽ, ഫുൾചെയിൻ ഫയൽ, പ്രൈവറ്റ് കീ, സർട്ടിഫിക്കറ്റ് ഫയൽ, ഇനിപ്പറയുന്ന ഉദാഹരണത്തിൽ ചിത്രീകരിച്ചിരിക്കുന്നതുപോലെ.

# ls /usr/local/etc/letsencrypt/live/www.yourdomain.com/

14. Nginx വെബ് സെർവറിൽ നിങ്ങളുടെ ഡൊമെയ്uനിനായി നമുക്ക് എൻക്രിപ്റ്റ് സർട്ടിഫിക്കറ്റുകൾ ഇൻസ്റ്റാൾ ചെയ്യുന്നതിനായി, Nginx പ്രധാന കോൺഫിഗറേഷൻ ഫയലോ Nginx TLS സെർവറിനായുള്ള കോൺഫിഗറേഷൻ ഫയലോ തുറക്കുക, അതൊരു പ്രത്യേക ഫയലാണെങ്കിൽ, നമുക്ക് എൻക്രിപ്റ്റ് ചെയ്യാം. താഴെ കാണിച്ചിരിക്കുന്നതുപോലെ സർട്ടിഫിക്കറ്റുകൾ നൽകി.

# nano /usr/local/etc/nginx/nginx.conf

ഈ സാമ്പിളിലെ പോലെ കാണുന്നതിന് ഇനിപ്പറയുന്ന വരികൾ അപ്uഡേറ്റ് ചെയ്യുക:

ssl_certificate "/usr/local/etc/letsencrypt/live/www.yourdomain.com/cert.pem";
	ssl_certificate_key "/usr/local/etc/letsencrypt/live/www.yourdomain.com/privkey.pem";

15. കൂടാതെ, Nginx SSL കോൺഫിഗറേഷനിൽ ssl_dhparam എന്ന ലൈൻ ഉണ്ടെങ്കിൽ, ഇനിപ്പറയുന്ന കമാൻഡ് ഉപയോഗിച്ച് നിങ്ങൾ ഒരു പുതിയ 2048 ബിറ്റ് Diffie–Hellman കീ ജനറേറ്റ് ചെയ്യണം:

# openssl dhparam –out /usr/local/etc/nginx/dhparam.pem 2048 

16. അവസാനമായി, Nginx TLS കോൺഫിഗറേഷൻ സജീവമാക്കുന്നതിന്, സാധ്യമായ വാക്യഘടന പിശകുകൾക്കായി ആദ്യം Nginx ഗ്ലോബൽ കോൺഫിഗറേഷൻ പരിശോധിക്കുക, തുടർന്ന്, ഇനിപ്പറയുന്ന കമാൻഡുകൾ നൽകി SSL കോൺഫിഗറേഷൻ പ്രയോഗിക്കുന്നതിന് Nginx സേവനം പുനരാരംഭിക്കുക.

# nginx -t
# service nginx restart

17. സിസ്റ്റത്തിലെ തുറന്ന എല്ലാ നെറ്റ്uവർക്ക് സോക്കറ്റുകളും ലിസണിംഗ് സ്റ്റേറ്റിൽ ലിസ്റ്റുചെയ്യാൻ കഴിയുന്ന ഇനിപ്പറയുന്ന കമാൻഡുകൾ നൽകി Nginx ഡെമൺ 443 പോർട്ടിൽ ബൈൻഡുചെയ്യുന്നുണ്ടോയെന്ന് സ്ഥിരീകരിക്കുക.

# netstat -an -p tcp| grep LISTEN
# sockstat -4 

18. നിങ്ങൾക്ക് ഒരു ബ്രൗസർ തുറന്ന് HTTPS പ്രോട്ടോക്കോൾ വഴി നിങ്ങളുടെ ഡൊമെയ്ൻ വിലാസം സന്ദർശിക്കാനും, എൻക്രിപ്റ്റ് ചെയ്യട്ടെ സർട്ടിഫിക്കറ്റുകൾ പ്രതീക്ഷിച്ചതുപോലെ പ്രവർത്തിക്കുന്നുവെന്ന് സ്ഥിരീകരിക്കുന്നതിന് ഇനിപ്പറയുന്ന വിലാസം ടൈപ്പ് ചെയ്യാനും കഴിയും. നിങ്ങൾ സാധുവായ ഒരു സർട്ടിഫിക്കറ്റ് അതോറിറ്റി സൃഷ്ടിച്ച സർട്ടിഫിക്കറ്റുകൾ ഉപയോഗിക്കുന്നതിനാൽ, ബ്രൗസറിൽ ഒരു പിശകും പ്രദർശിപ്പിക്കാൻ പാടില്ല.

https://www.yourdomain.com

19. താഴെപ്പറയുന്ന ഓപ്uഷനുകൾ ഉപയോഗിച്ച് കമാൻഡ് പ്രവർത്തിപ്പിക്കുന്നതിലൂടെ, Let's Encrypt CA-യിൽ നിന്ന് ലഭിച്ച ഒരു സർട്ടിഫിക്കറ്റിനെക്കുറിച്ചുള്ള വിവരങ്ങൾ കണ്ടെത്താൻ Openssl യൂട്ടിലിറ്റി നിങ്ങളെ സഹായിക്കും.

# openssl s_client -connect www.yourdomain.com:443

പോർട്ട് 80-ൽ നിങ്ങളുടെ ഡൊമെയ്uനിനായി ലഭിക്കുന്ന https അഭ്യർത്ഥനകളെല്ലാം HTTPS-ലേക്ക് നയിക്കാൻ Nginx-നെ നിർബന്ധിക്കണമെങ്കിൽ, Nginx കോൺഫിഗറേഷൻ ഫയൽ തുറക്കുക, പോർട്ട് 80-നുള്ള സെർവർ ഡയറക്uടീവ് കണ്ടെത്തുക, ചുവടെയുള്ള ഉദാഹരണത്തിൽ ചിത്രീകരിച്ചിരിക്കുന്നതുപോലെ server_name പ്രസ്താവനയ്ക്ക് ശേഷം താഴെയുള്ള വരി ചേർക്കുക. .

rewrite ^(.*) https://www.yourdomain.com$1 permanent;

20. കാലഹരണപ്പെടുന്നതിന് മുമ്പ് ലെറ്റ്സ് എൻക്രിപ്റ്റ് അതോറിറ്റി നൽകുന്ന സർട്ടിഫിക്കറ്റിനായി സ്വയമേവ പുതുക്കൽ സജ്ജീകരിക്കുന്നത്, ഇനിപ്പറയുന്ന കമാൻഡ് നൽകി ഒരു ക്രോൺ ജോബ് ഒരു ദിവസത്തിൽ ഒരിക്കൽ പ്രവർത്തിപ്പിക്കുന്നതിന് ഷെഡ്യൂൾ ചെയ്തുകൊണ്ട് ചെയ്യാവുന്നതാണ്.

# crontab -e

സർട്ടിഫിക്കറ്റ് പുതുക്കാനുള്ള ക്രോൺ ടാസ്ക്.

0 0 * * * certbot renew >> /var/log/letsencrypt.log

അത്രയേയുള്ളൂ! സൗജന്യ സർട്ടിഫിക്കറ്റുകൾ എൻക്രിപ്റ്റ് ചെയ്യുന്നതിലൂടെ നിങ്ങളുടെ സന്ദർശകർക്ക് Nginx-ന് സുരക്ഷിതമായ വെബ് ആപ്ലിക്കേഷനുകൾ നൽകാനാകും.