લેખ ડિરેક્ટરી
લેટ્સ એન્ક્રિપ્ટ માટે કેવી રીતે અરજી કરવી?
ચાલો SSL પ્રમાણપત્ર સિદ્ધાંત અને ઇન્સ્ટોલેશન ટ્યુટોરીયલને એન્ક્રિપ્ટ કરીએ
SSL શું છે? ચેન વેઇલિયાંગે તેમના અગાઉના લેખ " HTTP અને HTTPS વચ્ચે શું તફાવત છે? SSL એન્ક્રિપ્શન પ્રક્રિયાની વિગતવાર સમજૂતી " માં આની ચર્ચા કરી હતી .
ઈ-કોમર્સ વેબસાઇટ્સ ઉપરાંત , જેમણે એડવાન્સ્ડ એન્ક્રિપ્ટેડ SSL પ્રમાણપત્રો ખરીદવા પડે છે, નવા મીડિયા વ્યાવસાયિકો જેઓ તેમના WeChat સત્તાવાર એકાઉન્ટ્સને પ્રમોટ કરવા માટે વેબસાઇટ્સનો ઉપયોગ કરે છે તેઓ ખરેખર મફત એન્ક્રિપ્ટેડ SSL પ્રમાણપત્રો ઇન્સ્ટોલ કરી શકે છે. આ SEO માં મદદ કરી શકે છે અને સર્ચ એન્જિનમાં વેબસાઇટના કીવર્ડ રેન્કિંગમાં સુધારો કરી શકે છે.

લેટ્સ એન્ક્રિપ્ટનો પોતાનો વર્કફ્લો છે ( https://certbot.eff.org/ ). લિનક્સ વપરાશકર્તાઓ તે વર્કફ્લોનો સંદર્ભ લઈ શકે છે અને આ ટ્યુટોરીયલને અનુસરી શકે છે.
પહેલા certbot-auto ટૂલ ડાઉનલોડ કરો, પછી ટૂલની ઇન્સ્ટોલેશન ડિપેન્ડન્સી ચલાવો.
wget https://dl.eff.org/certbot-auto --no-check-certificate chmod +x ./certbot-auto ./certbot-auto -n
SSL પ્રમાણપત્ર જનરેટ કરો
આગળ, ચેન વેઇલિયાંગના બ્લોગ ડોમેન નામને ઉદાહરણ તરીકે લેતા, કૃપા કરીને તમારી પોતાની જરૂરિયાતો અનુસાર તેને સંશોધિત કરો અને SSH દ્વારા નીચેનો આદેશ ચલાવો.
આદેશને સંશોધિત કરવાની ખાતરી કરો:
- મેઇલબોક્સ
- સર્વર પાથ
- વેબસાઇટ ડોમેન નામ
સિંગલ ડોમેન સિંગલ ડિરેક્ટરી, પ્રમાણપત્ર જનરેટ કરો:
./certbot-auto certonly --email [email protected] --agree-tos --no-eff-email --webroot -w /home/admin/web/chenweiliang.com/public_html -d www.chenweiliang.com
મલ્ટિ-ડોમેન સિંગલ ડિરેક્ટરી, પ્રમાણપત્ર જનરેટ કરો: (એટલે કે, બહુવિધ ડોમેન નામો, સિંગલ ડિરેક્ટરી, સમાન પ્રમાણપત્રનો ઉપયોગ કરો)
./certbot-auto certonly --email [email protected] --agree-tos --no-eff-email --webroot -w /home/admin/web/chenweiliang.com/public_html -d www.chenweiliang.com -d img.chenweiliang.com
જનરેટ કરેલ SSL પ્રમાણપત્ર આમાં સાચવવામાં આવશે:/etc/letsencrypt/live/www.chenweiliang.com/ વિષયવસ્તુ હેઠળ.
બહુવિધ ડોમેન નામો અને બહુવિધ ડિરેક્ટરીઓ, પ્રમાણપત્ર જનરેટ કરો: (એટલે કે, બહુવિધ ડોમેન નામો, બહુવિધ ડિરેક્ટરીઓ, સમાન પ્રમાણપત્રનો ઉપયોગ કરો)
./certbot-auto certonly --email [email protected] --agree-tos --no-eff-email --webroot -w /home/admin/web/chenweiliang.com/public_html -d www.chenweiliang.com -d img.chenweiliang.com -w /home/eloha/public_html/site/etufo.org -d www.etufo.org -d img.etufo.org
ચાલો એન્ક્રિપ્ટ પ્રમાણપત્ર સફળતાપૂર્વક ઇન્સ્ટોલ થઈ જાય પછી, SSH પ્રોમ્પ્ટ નીચે પ્રમાણે દેખાશે:
મહત્વપૂર્ણ નોંધો:
– અભિનંદન! તમારું પ્રમાણપત્ર અને સી.એચain અહીં સાચવવામાં આવ્યા છે:
/etc/letsencrypt/live/www.chenweiliang.com/fullchain.pem
તમારી કી ફાઇલ અહીં સાચવવામાં આવી છે:
/etc/letsencrypt/live/www.chenweiliang.com/privkey.pem
તમારું પ્રમાણપત્ર 2018-02-26 ના રોજ સમાપ્ત થશે. નવું અથવા ટ્વિક મેળવવા માટે
ભવિષ્યમાં આ પ્રમાણપત્રનું સંસ્કરણ, ફક્ત certbot-auto ચલાવો
ફરીથી. તમારા પ્રમાણપત્રોના *તમામ* નોન-ઇન્ટરેક્ટિવ રિન્યૂ કરવા માટે, ચલાવો
"સર્ટબોટ-ઓટો રીન્યુ"
- જો તમને સર્ટબotટ ગમે છે, તો કૃપા કરીને અમારા કાર્યને ટેકો આપવાનું ધ્યાનમાં લો:
ISRG / લેટ્સ એન્ક્રિપ્ટમાં દાન આપવું: https://letsencrypt.org/donate
EFF ને દાન આપવું: https://eff.org/donate-le
SSL પ્રમાણપત્ર નવીકરણ
પ્રમાણપત્ર નવીકરણ પણ ખૂબ જ અનુકૂળ છે, ઓટોમેટિક નવીકરણ માટે crontab નો ઉપયોગ કરવો . કેટલાક ડેબિયન સંસ્કરણો કે જેમાં crontab ઇન્સ્ટોલ કરેલ નથી, તમે તેને પહેલા મેન્યુઅલી ઇન્સ્ટોલ કરી શકો છો.
apt-get install cron
nginx અને apache માટે નીચેના આદેશો /etc/crontab ફાઇલમાં દાખલ કરવામાં આવે છે, જેનો અર્થ છે કે તે દર 10 દિવસે નવીકરણ કરવામાં આવે છે, અને 90-દિવસની માન્યતા અવધિ પૂરતી છે.
Nginx crontab ફાઇલ, કૃપા કરીને ઉમેરો:
0 3 */10 * * /root/certbot-auto renew --renew-hook "/etc/init.d/nginx reload"
Apache crontab ફાઇલ, કૃપા કરીને ઉમેરો:
0 3 */10 * * /root/certbot-auto renew --renew-hook "service httpd restart"
SSL પ્રમાણપત્ર અપાચે ગોઠવણી
હવે, આપણે અપાચે રૂપરેખાંકનમાં ફેરફાર કરવાની જરૂર છે.
ટિપ્સ:
- જો તમે ઉપયોગ કરો છોCWP નિયંત્રણ પેનલ, ડોમેન નામ ઉમેરોમાં આપોઆપ SSL પ્રમાણપત્ર જનરેટ કરો ચેક કરો, તે Apache માટે SSL પ્રમાણપત્રને આપમેળે ગોઠવશે.
- જો તમે નીચેનામાંથી વધુ પગલાઓ કરો છો, તો Apache પુનઃપ્રારંભ કર્યા પછી ભૂલ આવી શકે છે.
- જો કોઈ ભૂલ હોય, તો તમે મેન્યુઅલી ઉમેરેલ રૂપરેખાંકન કાઢી નાખો.
httpd.conf ફાઇલમાં ફેરફાર કરો ▼
/usr/local/apache/conf/httpd.conf
શોધો ▼
Listen 443
- (અગાઉની ટિપ્પણી નંબર # દૂર કરો)
અથવા લિસનિંગ પોર્ટ 443 ઉમેરો ▼
Listen 443
SSH ચેક અપાચે લિસનિંગ પોર્ટ ▼
grep ^Listen /usr/local/apache/conf/httpd.conf
શોધો ▼
mod_ssl
- (અગાઉની ટિપ્પણી નંબર # દૂર કરો)
અથવા ઉમેરો ▼
LoadModule ssl_module modules/mod_ssl.so
શોધો ▼
httpd-ssl
- (અગાઉની ટિપ્પણી નંબર # દૂર કરો)
પછી, SSH નીચેનો આદેશ ચલાવો (તમારા પોતાના પાથને બદલવાની નોંધ કરો):
at >/usr/local/apache/conf/extra/httpd-ssl.conf<<EOF Listen 443 AddType application/x-x509-ca-cert .crt AddType application/x-pkcs7-crl .crl SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH SSLProxyCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH SSLHonorCipherOrder on SSLProtocol all -SSLv2 -SSLv3 SSLProxyProtocol all -SSLv2 -SSLv3 SSLPassPhraseDialog builtin SSLSessionCache "shmcb:/usr/local/apache/logs/ssl_scache(512000)" SSLSessionCacheTimeout 300 SSLMutex "file:/usr/local/apache/logs/ssl_mutex" EOF
આગળ, તમે બનાવેલી વેબસાઇટ માટે Apache રૂપરેખાંકનના અંતે, </VirtualHost> હેઠળ.
SSL વિભાગની રૂપરેખાંકન ફાઇલ ઉમેરો (ટિપ્પણીને દૂર કરવા માટે નોંધ કરો અને તમારા પોતાના પાથને બદલો):
<VirtualHost *:443> DocumentRoot /home/admin/web/chenweiliang.com/public_html //网站目录 ServerName www.chenweiliang.com:443 //域名 ServerAdmin [email protected] //邮箱 ErrorLog "/var/log/www.chenweiliang.com-error_log" //错误日志 CustomLog "/var/log/www.chenweiliang.com-access_log" common //访问日志 SSLEngine on SSLCertificateFile /etc/letsencrypt/live/www.chenweiliang.com/fullchain.pem //之前生成的证书 SSLCertificateKeyFile /etc/letsencrypt/live/www.chenweiliang.com/privkey.pem //之前生成的密钥 <Directory "/home/admin/web/chenweiliang.com/public_html"> //网站目录 SetOutputFilter DEFLATE Options FollowSymLinks AllowOverride All suPHP_UserGroup eloha eloha //用户组(有些服务器配置需要,有些可能不需要,出错请删除此行) Order allow,deny Allow from all DirectoryIndex index.html index.phps </Directory> </VirtualHost>
છેલ્લે તેના પર અપાચે પુનઃપ્રારંભ કરો:
service httpd restart
Apache ફોર્સ HTTP HTTPS પર રીડાયરેક્ટ કરે છે
- ઘણી વેબ વિનંતીઓ હંમેશા SSL સાથે જ ચાલી શકે છે.
- અમારે એ સુનિશ્ચિત કરવાની જરૂર છે કે જ્યારે પણ અમે SSL નો ઉપયોગ કરીએ, ત્યારે વેબસાઈટ SSL દ્વારા એક્સેસ કરવી જોઈએ.
- જો કોઈપણ વપરાશકર્તા બિન-SSL URL સાથે વેબસાઇટને ઍક્સેસ કરવાનો પ્રયાસ કરે છે, તો તેને SSL વેબસાઇટ પર રીડાયરેક્ટ કરવું આવશ્યક છે.
- Apache mod_rewrite મોડ્યુલનો ઉપયોગ કરીને SSL URL પર રીડાયરેક્ટ કરો.
- જો તમે LAMP વન-ક્લિક ઇન્સ્ટોલેશન પેકેજનો ઉપયોગ કરો છો, તો SSL પ્રમાણપત્રનું બિલ્ટ-ઇન સ્વચાલિત ઇન્સ્ટોલેશન અને HTTPS પર ફરજિયાત રીડાયરેશન, HTTPS પર રીડાયરેશનબળમાં, તમારે HTTPS રીડાયરેક્ટ ઉમેરવાની જરૂર નથી.
રીડાયરેક્ટ નિયમ ઉમેરો
- અપાચેની રૂપરેખાંકન ફાઇલમાં, વેબસાઇટના વર્ચ્યુઅલ હોસ્ટને સંપાદિત કરો અને નીચેની સેટિંગ્સ ઉમેરો.
- તમે તમારી .htaccess ફાઇલમાં તમારી વેબસાઇટ પરના દસ્તાવેજ રૂટમાં સમાન સેટિંગ્સ પણ ઉમેરી શકો છો.
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]જો તમે HTTPS પર રીડાયરેક્ટ કરવા માટે ચોક્કસ URL નો ઉલ્લેખ કરવા માંગતા હોવ તો:
RewriteEngine On RewriteRule ^message$ https://www.etufo.org/message [R=301,L]
- જો કોઈ ઍક્સેસ કરવાનો પ્રયાસ કરે છે સંદેશ , પૃષ્ઠ https પર જશે, અને વપરાશકર્તા ફક્ત SSL સાથે URL ને ઍક્સેસ કરી શકશે.
.htaccess ફાઇલને પ્રભાવિત કરવા માટે અપાચે પુનઃપ્રારંભ કરો:
service httpd restart
સાવચેતી
- કૃપા કરીને ઉપરોક્ત ઇમેઇલ સરનામું તમારા ઇમેઇલ સરનામાંમાં બદલો.
- કૃપા કરીને ઉપરોક્ત વેબસાઇટ ડોમેન નામને તમારી વેબસાઇટ ડોમેન નામમાં બદલવાનું યાદ રાખો.
રીડાયરેક્ટ નિયમ સ્થાન સમસ્યા
રીડાયરેક્ટ નિયમોને સ્યુડો-સ્ટેટિક નિયમો હેઠળ મૂકતી વખતે, તમને ઘણીવાર સમસ્યાનો સામનો કરવો પડશે કે HTTP આખી સાઇટને HTTPS પર રીડાયરેક્ટ કરી શકતું નથી.
શરૂઆતમાં અમે રીડાયરેક્ટ કોડને .htaccess માં કૉપિ કર્યો અને તે નીચેના કેસોમાં દેખાશે ▼
![રીડાયરેક્શન નિયમ [L] ઉપર છે. રીડાયરેક્શન નિયમ [L] ઉપર છે.](https://img.chenweiliang.com/2018/03/https-rule-1.png)
- [L] સૂચવે છે કે વર્તમાન નિયમ છેલ્લો નિયમ છે, નીચેના પુનર્લેખન નિયમોનું વિશ્લેષણ કરવાનું બંધ કરો.
- તેથી પુનઃદિશામાન લેખ પૃષ્ઠને ઍક્સેસ કરતી વખતે, [L] નીચેના નિયમોને અટકાવે છે, તેથી પુનઃદિશામાન નિયમો કામ કરતા નથી.
HTTP હોમપેજને ઍક્સેસ કરતી વખતે, અમે URL રીડાયરેક્ટ ટ્રિગર કરવા માંગીએ છીએ, રીડાયરેક્શન નિયમોને અમલમાં મૂકવા માટે URL રીડાયરેક્ટ નિયમોને બાયપાસ કરીને, જેથી સમગ્ર સાઇટને HTTP થી HTTPS પર રીડાયરેક્ટ કરી શકાય.
HTTPS રીડાયરેક્ટ નિયમોને [L] નિયમો નીચે ન મૂકો ; તેમને [L] નિયમો ઉપર મૂકો. ▼
![સ્યુડો-સ્ટેટિક SSL રીડાયરેક્શન નિયમો [L] નીચે આપેલ છે. સ્યુડો-સ્ટેટિક SSL રીડાયરેક્શન નિયમો [L] નીચે આપેલ છે.](https://img.chenweiliang.com/2018/03/pseudo-static-ssl-jump.png)
વિસ્તૃત વાંચન:
- HTTP અને https વચ્ચે શું તફાવત છે? SSL એન્ક્રિપ્શન પ્રક્રિયાની વિગતવાર સમજૂતી
- CWP કંટ્રોલ પેનલમાં Let's Encrypt SSL પ્રમાણપત્ર ઇન્સ્ટોલ કર્યા પછી જો મને ભૂલ 500 મળે તો મારે શું કરવું જોઈએ?
- www ટોપ-લેવલ ડોમેન નામ વિના આપમેળે બીજા-સ્તરના ડોમેન નામ પર જાઓ: રૂટ ડોમેન નામ 301 www ને રીડાયરેક્ટ કરે છે
આશા છે કે, ચેન વેઇલિયાંગના બ્લોગ ( https://www.chenweiliang.com/ ) પર શેર કરાયેલ "લેટ્સ એન્ક્રિપ્ટ માટે કેવી રીતે અરજી કરવી? લેટ્સ એન્ક્રિપ્ટ ફ્રી SSL સર્ટિફિકેટ્સના સિદ્ધાંતો અને ઇન્સ્ટોલેશન ટ્યુટોરીયલ" લેખ તમારા માટે મદદરૂપ થશે.
આ લેખની લિંક શેર કરવા માટે નિઃસંકોચ રહો: https://www.chenweiliang.com/cwl-512.html
