CentOS-RHEL 8 இல் ஹிட்சைப் பயன்படுத்தி வார்னிஷ் தற்காலிக சேமிப்புக்கான HTTPS ஐ எவ்வாறு இயக்குவது


எஸ்எஸ்எல்/டிஎல்எஸ் மற்றும் போர்ட் 443 உடன் தொடர்புடைய பிற நெறிமுறைகளுக்கு வார்னிஷ் கேச் சொந்த ஆதரவு இல்லை. உங்கள் வலை பயன்பாட்டின் செயல்திறனை அதிகரிக்க நீங்கள் வார்னிஷ் கேச் பயன்படுத்துகிறீர்கள் என்றால், நீங்கள் வேலை செய்ய எஸ்எஸ்எல்/டிஎல்எஸ் டெர்மினேஷன் ப்ராக்ஸி எனப்படும் மற்றொரு மென்பொருளை நிறுவி கட்டமைக்க வேண்டும். HTTPS ஐ இயக்க வார்னிஷ் கேச் உடன்.

தி ஹிட்ச் ஒரு இலவச திறந்த மூல, லிபிவ் அடிப்படையிலான மற்றும் அளவிடக்கூடிய எஸ்எஸ்எல்/டிஎல்எஸ் ப்ராக்ஸி, இது வார்னிஷ் கேச் வடிவமைக்கப்பட்டுள்ளது, இது தற்போது லினக்ஸ், ஓபன் பி.எஸ்.டி, ஃப்ரீ.பி.எஸ்.டி மற்றும் மேகோஸ்எக்ஸ் ஆகியவற்றில் வேலை செய்கிறது. இது போர்ட் 443 (எச்.டி.டி.பி.எஸ் இணைப்புகளுக்கான இயல்புநிலை துறைமுகம்) ஐக் கேட்பதன் மூலம் டி.எல்.எஸ்/எஸ்.எஸ்.எல் இணைப்புகளை நிறுத்துகிறது மற்றும் மறைகுறியாக்கப்பட்ட போக்குவரத்தை வார்னிஷ் கேசிற்கு அனுப்புகிறது, இருப்பினும், இது மற்ற பின்தளத்தில் கூட வேலை செய்ய வேண்டும்.

இது TLS1.2 மற்றும் TLS1.3 மற்றும் மரபு TLS 1.0/1.1 ஐ ஆதரிக்கிறது, HTTP/2 க்கான ALPN (பயன்பாட்டு-அடுக்கு நெறிமுறை பேச்சுவார்த்தை) மற்றும் NPN (அடுத்த நெறிமுறை பேச்சுவார்த்தை) ஆகியவற்றை ஆதரிக்கிறது, கிளையன்ட் ஐபி/போர்ட்டை ஒரு பின்தளத்தில் சமிக்ஞை செய்வதற்கான ஒரு PROXY நெறிமுறை. , யுனிக்ஸ் டொமைன் சாக்கெட் இணைப்புகள் தோற்றம், எஸ்.என்.ஐ (சேவையக பெயர் சுட்டிக்காட்டல்), வைல்டு கார்டு சான்றிதழ்களுடன் மற்றும் இல்லாமல். கூடுதலாக, இது 15,000 வரை கேட்கும் சாக்கெட்டுகள் மற்றும் 500,000 சான்றிதழ்கள் தேவைப்படும் பெரிய நிறுவல்களுக்கு நன்றாக வேலை செய்கிறது.

Nginx மற்றும் Apache HTTP சேவையகங்களுக்கான வார்னிஷ் தற்காலிக சேமிப்பை நிறுவுவது பற்றிய எங்கள் முந்தைய இரண்டு கட்டுரைகளின் தொடர்ச்சியாக, இந்த வழிகாட்டி CentOS/RHEL 8 இல் ஹிட்ச் TLS ப்ராக்ஸியைப் பயன்படுத்தி வார்னிஷ் தற்காலிக சேமிப்புக்கான HTTPS ஐ இயக்கக் காட்டுகிறது.

இந்த வழிகாட்டி நீங்கள் Nginx அல்லது Apache வலை சேவையகத்திற்காக வார்னிஷ் நிறுவியிருப்பதாகக் கருதுகிறது, இல்லையெனில், காண்க:

  • CentOS/RHEL 8 இல் Nginx வலை சேவையகத்திற்கு வார்னிஷ் கேச் 6 ஐ எவ்வாறு நிறுவுவது
  • CentOS/RHEL 8 இல் அப்பாச்சி வலை சேவையகத்திற்கு வார்னிஷ் கேச் 6 ஐ எவ்வாறு நிறுவுவது

படி 1: CentOS/RHEL 8 இல் ஹிட்சை நிறுவவும்

1. ஹிட்ச் தொகுப்பு EPEL (எண்டர்பிரைஸ் லினக்ஸிற்கான கூடுதல் தொகுப்புகள்) களஞ்சியத்தில் வழங்கப்படுகிறது. அதை நிறுவ, முதலில் உங்கள் கணினியில் EPEL ஐ இயக்கவும், பின்னர் தொகுப்பை நிறுவவும். உங்களிடம் OpenSSL தொகுப்பு நிறுவப்படவில்லை என்றால், அதை நிறுவவும்.

# dnf install epel-release
# dnf install hitch openssl

2. தொகுப்பு நிறுவல் முடிந்ததும், நீங்கள் வேலை செய்ய வார்னிஷ் கேச் கட்டமைக்க வேண்டும். உங்கள் SSL/TLS சான்றிதழ்கள் மற்றும் வார்னிஷ் ஒரு பின்தளத்தில் பயன்படுத்த நீங்கள் ஹிட்சை உள்ளமைக்க வேண்டும். ஹிட்சின் முக்கிய உள்ளமைவு கோப்பு /etc/hitch/hitch.conf இல் அமைந்துள்ளது, இது கீழே விளக்கப்பட்டுள்ளது.

படி 2: ஹிட்சிற்கான வார்னிஷ் கேச் கட்டமைத்தல்

3. அடுத்து, ஹிட்சுடனான தகவல்தொடர்புகளுக்காக, ப்ராக்ஸி நெறிமுறை ஆதரவைப் பயன்படுத்தி கூடுதல் துறைமுகத்தை (எங்கள் விஷயத்தில் 8443) கேட்க வார்னிஷை இயக்கவும்.

எனவே எடிட்டிங் செய்ய வார்னிஷ் சிஸ்டம் சேவை கோப்பைத் திறக்கவும்.

# systemctl edit --full varnish

ExecStart என்ற வரியைத் தேடி, 127.0.0.1:8443,proxy மதிப்புடன் கூடுதல் -a கொடியைச் சேர்க்கவும். 127.0.0.1:8443 மதிப்பைப் பயன்படுத்துவதால், வார்னிஷ் உள் இணைப்பை மட்டுமே ஏற்றுக்கொள்வார் (ஒரே சேவையகத்தில் இயங்கும் செயல்முறைகளிலிருந்து அதாவது இந்த விஷயத்தில் தடை) ஆனால் வெளிப்புற இணைப்புகள் அல்ல.

ExecStart=/usr/sbin/varnishd -a :80 -a 127.0.0.1:8443,proxy -f /etc/varnish/default.vcl -s malloc,256m 

சமீபத்திய மாற்றங்களைப் பயன்படுத்த கோப்பைச் சேமித்து, பின்னர் வார்னிஷ் சேவையை மறுதொடக்கம் செய்யுங்கள்.

# systemctl restart varnish

படி 3: எஸ்எஸ்எல்/டிஎல்எஸ் சான்றிதழ்களைப் பெறுதல்

4. இந்த பிரிவில், ஹிட்சின் கீழ் பயன்படுத்த வேண்டிய SSL/TLS சான்றிதழ் மூட்டை எவ்வாறு உருவாக்குவது என்பதை விளக்குவோம். இந்த வழிகாட்டியைப் பொறுத்தவரை, சுய கையொப்பமிட்ட சான்றிதழ், வணிகச் சான்றிதழ் அல்லது லெட்ஸ் குறியாக்கத்திலிருந்து ஒன்றை எவ்வாறு பயன்படுத்துவது என்பதற்கான பல்வேறு விருப்பங்களை நாங்கள் விளக்குவோம்.

சுய கையொப்பமிட்ட சான்றிதழை உருவாக்க (நீங்கள் உள்ளூர் சோதனை சூழலில் மட்டுமே பயன்படுத்த வேண்டும்), நீங்கள் OpenSSL கருவியைப் பயன்படுத்தலாம்.

# mkdir /etc/ssl/tecmint.lan
# cd /etc/ssl/tecmint.lan/
# openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout  tecmint.lan.key -out tecmint.lan.crt

பின் ஒரு சான்றிதழ் மற்றும் விசையின் மூட்டை பின்வருமாறு உருவாக்கவும்.

# cat tecmint.crt tecmint.key >tecmint.pem

குறிப்பு: உற்பத்தி பயன்பாட்டிற்காக, நீங்கள் வணிகச் சான்றிதழ் ஆணையத்திடமிருந்து (CA) ஒரு சான்றிதழை வாங்கலாம் அல்லது லெட்ஸ் என்க்ரிப்டிலிருந்து இலவச, தானியங்கி மற்றும் முழுமையாக அங்கீகரிக்கப்பட்ட சான்றிதழைப் பெறலாம். பின்னர் ஒரு PEM மூட்டை உருவாக்கவும்.

வணிக CA இலிருந்து நீங்கள் ஒரு சான்றிதழை வாங்கியிருந்தால், காட்டப்பட்டுள்ளபடி நீங்கள் தனிப்பட்ட விசை, சான்றிதழ் மற்றும் CA மூட்டை ஆகியவற்றை ஒன்றிணைக்க வேண்டும்.

# cat example.com.key example.com.crt example.com-ca-bundle.crt > /etc/ssl/example.com.pem 

Lets Encrypt க்கு, சான்றிதழ், தனிப்பட்ட விசை மற்றும் முழு சங்கிலி /etc/letsencrypt/live/example.com/ இன் கீழ் சேமிக்கப்படும், எனவே காட்டப்பட்டுள்ளபடி மூட்டை உருவாக்கவும்.

# cat /etc/letsencrypt/live/example.com/fullchain.pem /etc/letsencrypt/live/example.com/privkey.pem >/etc/letsencrypt/live/example.com/example.com_bundle.pem

படி 4: கட்டத்தை கட்டமைத்தல் மற்றும் தொடங்குதல்

5. அடுத்து, வார்னிஷை ஹிட்சிற்கான பின்தளத்தில் கட்டமைத்து, எச்.டி.டி.பி.எஸ்-க்குப் பயன்படுத்த எஸ்.எஸ்.எல்/டி.எல்.எஸ் சான்றிதழ் கோப்புகளைக் குறிப்பிடவும், ஹிட்ச் பிரதான உள்ளமைவு கோப்பில், அதைத் திருத்துவதற்குத் திறக்கவும்.

# vi /etc/hitch/hitch.conf

ஃபிரான்டென்ட் பிரிவு ஐபி முகவரிகளை வரையறுக்கிறது மற்றும் போர்ட் ஹிட்ச் கேட்கும். இயல்புநிலை உள்ளமைவு என்பது சேவையகத்தில் இணைக்கப்பட்டுள்ள அனைத்து ஐபிவி 4 மற்றும் ஐபிவி 6 இடைமுகங்களையும் கேட்டு போர்ட் 443 இல் இயங்குகிறது மற்றும் உள்வரும் எச்.டி.டி.பி.எஸ் கோரிக்கைகளை கையாளுகிறது, அவற்றை வார்னிஷிடம் ஒப்படைக்கிறது.

பின்தளத்தில் அளவுருவைப் பயன்படுத்தி, ஹிட்ச் உள்ளமைவு கோப்பில் இயல்புநிலை பின்தளத்தில் ப்ராக்ஸி போர்ட்டை 6086 முதல் 8443 வரை (வார்னிஷ் கோரிக்கைகளை அனுப்ப பயன்படும் போர்ட்) மாற்றவும். மேலும், காட்டப்பட்டுள்ளபடி பெம்-கோப்பு அளவுருவைப் பயன்படுத்தி சான்றிதழ் கோப்பைக் குறிப்பிடவும்.

backend = "[127.0.0.1]:8443"
#pem-dir = "/etc/pki/tls/private"
pem-file = "/etc/ssl/tecmint.lan/tecmint.pem"

கோப்பை சேமித்து மூடவும்.

6. இப்போது தடைச் சேவையைத் தொடங்கி, கணினி துவக்கத்தில் தானாகவே தொடங்க அதை இயக்கவும். இயக்கத்துடன் பயன்படுத்தும்போது --now சுவிட்ச், ஒரு systemd சேவையையும் தொடங்குகிறது, பின்னர் அது இயங்குகிறதா மற்றும் பின்வருமாறு இயங்குகிறதா என்பதைப் பார்க்கவும்.

# systemctl enable --now hitch
# systemctl status hitch

7. உங்கள் வலைத்தளம்/பயன்பாடு இப்போது HTTPS இல் இயங்குகிறதா என்பதை நீங்கள் சோதிக்க முன், ஃபயர்வாலில் உள்ள HTTPS சேவை போர்ட் 443 ஐ அனுமதிக்க வேண்டும், சேவையகத்தில் அந்த துறைமுகத்திற்கான கோரிக்கைகளை ஃபயர்வால் வழியாக செல்ல அனுமதிக்க வேண்டும்.

# firewall-cmd --zone=public --permanent --add-service=https
# firewall-cmd --reload

படி 5: வார்னிஷ் கேச்-ஹிட்ச் அமைப்புடன் SSL/TLS முடிவைச் சோதித்தல்

8. வார்னிஷ் கேச்-ஹிட்ச் அமைப்பை சோதிக்க இப்போது நேரம் வந்துவிட்டது. ஒரு வலை உலாவியைத் திறந்து, உங்கள் டொமைன் அல்லது சேவையக ஐபியைப் பயன்படுத்தி HTTPS வழியாக செல்லவும்.

https://www.example.com
OR
https://SERVER_IP/

உங்கள் வலை பயன்பாட்டின் குறியீட்டு பக்கம் ஏற்றப்பட்டதும், வார்னிஷ் கேச் வழியாக உள்ளடக்கம் வழங்கப்படுகிறது என்பதை உறுதிப்படுத்த HTTP தலைப்புகளை சரிபார்க்கவும்.

அதைச் செய்ய, ஏற்றப்பட்ட வலைப்பக்கத்தில் வலது கிளிக் செய்து, டெவலப்பர் கருவிகளைத் திறக்க விருப்பங்களின் பட்டியலிலிருந்து ஆய்வு என்பதைத் தேர்ந்தெடுக்கவும். பின்னர் நெட்வொர்க் தாவலைக் கிளிக் செய்து, பக்கத்தை மீண்டும் ஏற்றவும், பின்னர் பின்வரும் ஸ்கிரீன்ஷாட்டில் சிறப்பிக்கப்பட்டுள்ளபடி, HTTP தலைப்புகளைக் காண ஒரு கோரிக்கையைத் தேர்ந்தெடுக்கவும்.

படி 6: வார்னிஷ் தற்காலிக சேமிப்பில் HTTP ஐ HTTPS க்கு திருப்பி விடுகிறது

9. உங்கள் வலைத்தளத்தை HTTPS இல் மட்டுமே இயக்க, நீங்கள் அனைத்து HTTP போக்குவரத்தையும் HTTPS க்கு திருப்பி விட வேண்டும். உங்கள் ஹிட்ச் உள்ளமைவு கோப்பில் பின்வரும் உள்ளமைவைச் சேர்ப்பதன் மூலம் இதைச் செய்யலாம்.

# vi /etc/hitch/hitch.conf 

முதலில், வரி இறக்குமதி வகுப்பு சேர்க்கவும்; vlc 4.0; க்கு கீழே, பின்னர் vlc_recv subroutine ஐத் தேடுங்கள், இது வார்னிஷ் கேச் கிளையன்ட் கோரிக்கையை அதன் அடிப்படை தரவு கட்டமைப்பில் பாகுபடுத்திய உடனேயே செயல்படுத்தப்படும் முதல் VCL சப்ரூட்டீன் ஆகும். கோரிக்கை தலைப்புகளை மாற்றியமைத்து, கிளையன்ட் கோரிக்கைகளை திருப்பிவிட ஒரு சின்த் இயக்க முடியும்.

இதைப் போல மாற்றவும்.

sub vcl_recv {
    if (std.port(server.ip) != 443) {
        set req.http.location = "https://" + req.http.host + req.url;
        return(synth(301));
    }
}

PROXY நெறிமுறை சர்வர்.ஐபி மாறியிலிருந்து ஹிட்சின் கேட்கும் போர்ட் 443 ஐப் பார்க்க வார்னிஷ் செயல்படுத்துகிறது என்பதை நினைவில் கொள்க. எனவே std.port (server.ip) வரி கிளையன்ட் இணைப்பு பெறப்பட்ட போர்ட் எண்ணை வழங்குகிறது.

HTTPS க்கு துறைமுகம் 443 ஆக இல்லாவிட்டால் ((std.port (server.ip)! = 443% சரிபார்க்கப்பட்டது), சப்ரூட்டீன் கோரிக்கை HTTP இருப்பிட தலைப்பை (req.http.location ஐ அமைக்கவும்) பாதுகாப்பான கோரிக்கைக்கு அமைக்கும் (“ https:/”+ req.http.host + req.url) வலைப்பக்கத்தின் HTTPS பதிப்பை ஏற்றுமாறு வலை உலாவியைக் கேட்கிறது (அதாவது URL திருப்பிவிடுதல்).

இருப்பிட தலைப்பு vcl_synth சப்ரூட்டினுக்கு அனுப்பப்படும் (இது ரிட்டர்ன் (சின்த் (301%) ஐப் பயன்படுத்தி அழைக்கப்படுகிறது) 301 இன் HTTP நிலைக் குறியீட்டைக் கொண்டு (நிரந்தரமாக நகர்த்தப்படுகிறது).

10. அடுத்து, மேலே உள்ள சின்த் செயலாக்க, பின்வரும் vcl_synth சப்ரூட்டீனைச் சேர்க்கவும் (அதன் பல பயன்பாட்டு நிகழ்வுகளில் ஒன்று பயனர்களை திருப்பி விடுகிறது).

sub vcl_synth {
        if (resp.status == 301) {
                set resp.http.location = req.http.location;
		  set resp.status = 301;
                return (deliver);
        }
}

மறுமொழி நிலை 301 ஆக இருக்கிறதா என்று இது சரிபார்க்கிறது, பதிலில் உள்ள HTTP இருப்பிட தலைப்பு கோரிக்கையில் HTTP இருப்பிட தலைப்புக்கு அமைக்கப்பட்டுள்ளது, இது உண்மையில் HTTPS க்கு திருப்பி விடப்படுகிறது மற்றும் வழங்கல் செயலைச் செய்கிறது.

டெலிவரி நடவடிக்கை பின்தளத்தில் இருந்து பதிலுடன் ஒரு பதிலை உருவாக்குகிறது, பதிலை தற்காலிக சேமிப்பில் சேமித்து கிளையண்டிற்கு அனுப்புகிறது.

கோப்பை சேமித்து மூடவும்.

11. மீண்டும், சேவையை மறுதொடக்கம் செய்வதன் மூலம் வார்னிஷ் உள்ளமைவில் புதிய மாற்றங்களைப் பயன்படுத்துங்கள். HTTP இலிருந்து HTTPS க்கு திருப்பிவிடப்படுவதை உறுதிப்படுத்த சுருட்டை கட்டளை-வரி கருவியைப் பயன்படுத்தவும்.

# systemctl restart varnish
# curl -I http://eaxmple.com/

உலாவியில் இருந்து, பின்வரும் ஸ்கிரீன்ஷாட்டில் காட்டப்பட்டுள்ளதைப் போலவே பதிலும் இருக்கும்.

இந்த கட்டத்தில் எல்லாம் நன்றாக வேலை செய்தன என்று நாங்கள் நம்புகிறோம். இல்லையென்றால், கீழேயுள்ள கருத்து படிவம் வழியாக ஒரு கருத்தை அல்லது கேள்விகளை விடுங்கள். எந்த மேம்பட்ட உள்ளமைவு விருப்பங்களுக்கும், ஹிட்ச் ஆவணங்களுக்குச் செல்லவும்.