Nginx හි, උප වසම පවත්වා ගෙන යන අතරතුර සියලු http ඉල්ලීම් https වෙත නැවත ලිවිය හැක්කේ කෙසේද?


522

මගේ වෙබ් සේවාදායකයේ ඇති සියලුම http ඉල්ලීම් https ඉල්ලීම් ලෙස නැවත ලිවීමට මට අවශ්‍යය, මම පහත සඳහන් දෑ සමඟ ආරම්භ කළෙමි:

සේවාදායකය {
    සවන් දෙන්න 80;

    ස්ථානය / {
      නැවත ලියන්න ^ (. *) https: //mysite.com$1 ස්ථිර;
    }
...


එක් ගැටළුවක් නම්, මෙය කිසියම් උප ඩොමේන් තොරතුරු (උදා: node1.mysite.com/folder) ඉවත් කරයි, https වෙත සියල්ල නැවත හරවා උප වසම නඩත්තු කිරීම සඳහා ඉහත සඳහන් දේ නැවත ලිවිය හැක්කේ කෙසේද?


2
කරුණාකර 'පිළිගත් පිළිතුර' serverfault.com/a/171238/90758 වෙත ගෙනයාම ගැන සලකා බලන්න . ඒක තමයි නිවැරදි.
olafure

දෘ c කේත කළ mysite.com වෙනුවට $ server_name භාවිතා කරන්න
Fedir RYKHTIK

Answers:


765

Nginx හි නව අනුවාද වල නිවැරදි මාර්ගය

මෙම ප්‍රශ්නයට මගේ පළමු පිළිතුර නිශ්චිත වේලාවක නිවැරදි වූ නමුත් එය තවත් අනතුරක් බවට පත්විය - යාවත්කාලීනව සිටීමට කරුණාකර බදු නැවත ලිවීමේ අන්තරායන් පරීක්ෂා කරන්න

බොහෝ SE පරිශීලකයින් විසින් මා නිවැරදි කර ඇත, එබැවින් ණය ඔවුන් වෙත යයි, නමුත් වඩා වැදගත් වන්නේ මෙන්න නිවැරදි කේතය:

server {
       listen         80;
       server_name    my.domain.com;
       return         301 https://$server_name$request_uri;
}

server {
       listen         443 ssl;
       server_name    my.domain.com;
       # add Strict-Transport-Security to prevent man in the middle attacks
       add_header Strict-Transport-Security "max-age=31536000" always; 

       [....]
}

3
කෙසේ වෙතත් ඔබට මෙය වසම් පදනමක් මත වසමක සිදු කිරීමට සිදුවේ - නැත? ඔබේ සේවාදායකයේ සෑම වසමකටම එය යෙදීමට ඔබට අවශ්‍ය නම් කුමක් කළ යුතුද?
ජේඑම් 4

31
@ JM4: ඔබ server_name වෙනුවට නැවත ලිවීමේදී $ host use භාවිතා කර සවන් දීමේ නියෝගයට default_server එකතු කළහොත් එය ඔබගේ සේවාදායකයේ සෑම වසමකටම ක්‍රියාත්මක වේ.
ක්ලාස් වෑන් ෂෙල්වන්

5
301 කල් ඉකුත්වන දිනයකින් තොරව ඔබේ දේශීය හැඹිලියේ ගබඩා කර ඇති බව සඳහන් කිරීම වැදගත්ය. වින්‍යාසය වෙනස් වන විට එතරම් ප්‍රයෝජනවත් නොවේ
Trefex

9
@everyone POST අන්තර්ගතය සුරැකීමට 307 යළි-යොමුවීමක් භාවිතා කරන්න.
මහමුද් අල්-කුඩ්සි

12
ඔබ උප ඩොමේන් භාවිතා $hostකරන්නේ $server_nameනම් වෙනුවට භාවිතා කළ යුතු බව සලකන්න .
කැට්ෆිෂ්

279

සටහන: මෙය කළ හැකි හොඳම ක්‍රමය https://serverfault.com/a/401632/3641 විසින් සපයන ලදි - නමුත් මෙහි නැවත නැවතත්:

server {
    listen         80;
    return 301 https://$host$request_uri;
}

සරළම අවස්ථාවෙහිදී, ඔබේ සත්කාරක සමාගම ඔබට ඔවුන් යැවීමට අවශ්‍ය සේවාව බවට පත් කරනු ඇත - මෙය බ්‍රව්සරයට 301 යළි-යොමුවීමක් සිදුකරන අතර බ්‍රව්සරයේ URL ඒ අනුව යාවත්කාලීන වේ.

රීජෙක්ස් නිසා අකාර්යක්ෂම වන පෙර පිළිතුර පහත දැක්වේ, @kmindi පෙන්වා ඇති පරිදි සරල 301 විශිෂ්ටයි

මම nginx 0.8.39 සහ ඊට ඉහළින් භාවිතා කර ඇති අතර පහත සඳහන් දෑ භාවිතා කර ඇත:

 server {
       listen 80;
       rewrite ^(.*) https://$host$1 permanent;
 }

සේවාදායකයාට ස්ථිර යළි-යොමුවීමක් යවයි.


15
මම හිතන්නේ එය 80 ක් විය යුතුයි - මෙය http ට සවන් දී සේවාදායකයාට https (443) ලෙස නැවත පැමිණෙන ලෙස පවසන නිසා.
මයිකල් නීල්

3
මෙය ඉහළම පිළිතුර විය යුතුය!
නේතන්

3
මෙය වඩාත්ම බදු අය කරන පිළිතුරයි.
නඩුව

1
මෙය පහසුම, නමුත් අවම ආරක්ෂිතයි - මේ ආකාරයෙන් ඔබ ඔබේ සේවාදායකයට ඕනෑම පිටුවකට පරිශීලකයෙකු හරවා යැවීමට ඉඩ දෙයි, එය ඔබගේ සේවාදායකයේ භාවිතා කිරීමට පවා අවසර තිබේදැයි පරීක්ෂා නොකර. ඔබේ සේවාදායකය mydomain.co ට සේවය කරන්නේ නම්, අනිෂ්ට පරිශීලකයින්ට තවමත් ඔබගේ සේවාදායකය භාවිතා කර google.com වැනි mydomain.co වැනි වෙනත් වසම් වෙත පරිශීලකයින් හරවා යැවිය හැකිය.
ෆ්‍රයිඩ්කිවි

11
0 cab0lt මෙහි ආරක්ෂක ගැටළුවක් නොමැත. යළි-යොමුවීමක් සේවය කිරීම ආරක්ෂක අවදානමක් නොපෙන්වයි. ප්‍රවේශ පාලන අවශ්‍යතා තිබේ නම්, බ්‍රව්සරය නව URL ඉල්ලා සිටින ස්ථානයේ ඒවා පරීක්ෂා කළ යුතුය. යළි-යොමුවීමේ පදනම මත බ්‍රව්සරයට ප්‍රවේශය ලැබෙන්නේ නැත, නව URL ඉල්ලීමට ඔවුන්ට යළි-යොමුවීමක් අවශ්‍ය නොවේ.
mc0e

126

මම හිතන්නේ හොඳම හා එකම ක්‍රමය HTTP 301 චලනය කර ස්ථිරවම මේ ආකාරයට හරවා යැවීම විය යුතුය :

server {
    listen         [::]:80;
    return 301 https://$host$request_uri;
}

මෙම ස්ථිරවම පෙලඹුණු HTTP 301 දැනටමත් සඳහන් අනුව, එහි අගය කළ යුතු නැත regex නිසා යළි-යොමුවීම් ද ඉතාමත් කාර්යක්ෂම pitfails .


නව HTTP 308 චලනය කළ ඉල්ලීම් ක්‍රමය ස්ථිරවම ආරක්ෂා වන අතර ප්‍රධාන බ්‍රව්සර් මඟින් සහාය දක්වයි . උදාහරණයක් ලෙස, භාවිතා 308සිට ඉල්ලීම ක්රමය වෙනස් කිරීම වළකා ගත බ්රව්සර POSTසඳහා GETවන යළි-යොමුවීම් ඉල්ලීම සඳහා.


ඔබට සත්කාරක නාමය සහ උප ඩොමේන් සංරක්ෂණය කිරීමට අවශ්‍ය නම් මෙයයි.

ඔබට ඩීඑන්එස් නොමැති නම් මෙය තවමත් ක්‍රියාත්මක වේ , මන්ද මම එය දේශීයව භාවිතා කරමි. මම උදාහරණයක් ලෙස ඉල්ලා සිටින http://192.168.0.100/index.phpඅතර එය හරියටම හරවා යවනු https://192.168.0.100/index.phpලැබේ.

මම listen [::]:80මගේ ධාරකයේ භාවිතා කරන්නේ මා bindv6onlyසකසා ඇති falseනිසා එය ipv4 සොකට් එකට බැඳ තබන බැවිනි. listen 80ඔබට IPv6 අවශ්‍ය නැතිනම් හෝ වෙනත් තැනක බැඳීමට අවශ්‍ය නම් එය වෙනස් කරන්න.

සයිෆ් බෙචන්ගේ විසඳුම භාවිතා කරන්නේ server_nameමගේ නඩුවේදී දේශීය හොස්ට් වන නමුත් එය ජාලයක් හරහා ළඟා විය නොහැක.

මයිකල් නීල්ගෙන් විසඳුම හොඳයි, නමුත් අන්තරායන්ට අනුව, යළි-යොමුවීම් 301 සමඟ වඩා හොඳ විසඳුමක් ඇත;)


ඔබ එය උපුටා දැක්වීමට උත්සාහ කිරීම සතුටක්, නමුත් 301 HTTPS මත ක්‍රියා නොකරයි.
නඩුව

5
ක්‍රියා නොකරන්නේ කුමක්ද? ප්‍රකාශිත සේවාදායක අංශය සංකේතාංකනය නොකළ http (ය නොමැතිව) ගමනාගමනය සංකේතාත්මක සේවාදායකයට ස්ථිරවම හරවා යැවීම සඳහා වේ (443 (https) ට සවන් දෙන එම කොටස ලැයිස්තුගත කර නොමැත)
kmindi

මම මෙය https සහ සෑම දෙයක්ම සමඟ හොඳින් ක්‍රියා කරන බව පරීක්ෂා කර බැලුවෙමි - mkmindi මම ඔබේ පිළිතුර ඔබේ පිළිතුරට අනුව යාවත්කාලීන කළෙමි - එය නිවැරදි මාර්ගය යැයි මා සිතන පරිදි මෙය දිගින් දිගටම ඉදිරියට යයි! නියම වැඩක්.
මයිකල් නීල්

ඩොමේන් (අයිපී නොවන) ඉල්ලීමක් භාවිතා කරන විට, මම '[::]: 80' සිට 80 දක්වා වෙනස් නොකරන්නේ නම් ක්‍රියා නොකරයි.
ජෝශප් රාගය

එය අපේක්ෂිත හැසිරීම විය හැකිය: trac.nginx.org/nginx/ticket/345 . සවන්දීමේ විකල්පය විස්තර කිරීම සඳහා මම පිළිතුර යාවත්කාලීන කළෙමි.
kmindi

22

සේවාදායක කොටස තුළ ඔබට පහත සඳහන් දෑ කළ හැකිය:

# Force HTTPS connection. This rules is domain agnostic
if ($scheme != "https") {
    rewrite ^ https://$host$uri permanent;
}

2
මෙම වින්‍යාසය නිසා මගේ සේවාදායකය යළි
යොමුවීමේ

සමහර විට වෙනත් යළි-යොමුවීමක් සිදුවීමට ඉඩ තිබේ හෝ ඔබේ වෙබ් අඩවියේ / යෙදුමේ https සක්‍රීය කර නැත
ඔරියෝල්

1
මෙය හැර අනෙක් කිසිවෙකු වැඩ කරන බවක් පෙනෙන්නට නැත. Nginx අනුවාදය භාවිතා කිරීම: nginx / 1.10.0 (උබුන්ටු)
ThatGuy343

https: // $ host $ uri
AMB

4
ඔබ බර පටවන්නෙකු පිටුපස සිටින්නේ නම් මෙය යා යුතු මාර්ගයයි!
ඇන්ට්වාන්

17

ඉහත සඳහන් සෑම විටම නව උප ඩොමේන් නිර්මාණය කිරීම සමඟ ක්‍රියා කළේ නැත. උදා: AAA.example.com BBB.example.com උප ඩොමේන් 30 ක් පමණ.

අවසාන වශයෙන් පහත සඳහන් දෑ සමඟ වැඩ කරන වින්‍යාසයක් ලැබුණි:

server {
  listen 80;
  server_name _;
  rewrite ^ https://$host$request_uri? permanent;
}
server {
  listen  443;
  server_name example.com;
  ssl on;
  ssl_certificate /etc/ssl/certs/myssl.crt;
  ssl_certificate_key /etc/ssl/private/myssl.key;
  ssl_prefer_server_ciphers       on;
# ...
# rest of config here
# ...
}

ඔබට ස්තුතියි! nginx විසින් 301 https://*/මෙහි ඇති වෙනත් පිළිතුරු වල නොමේරූ ලෙස ඉල්ලීම ආපසු හෝ අවලංගු කරනු ඇත. උපක්‍රමය කළ පිළිතුර server_name _;සමඟ $host. +1
zamnuts

1
මෙය ප්‍රශස්තයි! කෙසේ වෙතත්, සමහරුන්ට _සත්‍ය වසම සමඟ ප්‍රතිස්ථාපනය කිරීමට මම නිර්දේශ කරමි, උදා: .domain.comමට සේවාදායකයන් දෙකක් සිටි අතර, nginx අහම්බෙන් මගේ සේවාදායකයක් පෙරනිමි සේවාදායකයට යොමු කළේය.
zzz

1
මට වැඩ කළ එකම පිළිතුර මෙයයි, ස්තූතියි!
හිම මිනිසා

ගොඩක් ස්තූතියි යාළුවා .. මම බොහෝ විසඳුම් අත්හදා බැලුවද එය සාර්ථක වූයේ නැත. මෙම විසඳුම් නියමයි, එය මට වැඩ කළා. සේවාදායක නම _; මේකට මොකක්ද අදහස් කලේ .. මට තේරුණේ නැහැ. කරුණාකර මට මෙය පැහැදිලි කරන්න.
පවන් කුමාර්

6

මම ඉතා වැදගත් නිවැරදි කිරීමක් සමඟ බොහෝ කලකට පෙර නිවැරදි පිළිතුර පිළිබඳ අදහසක් පළ කළෙමි, නමුත් මෙම නිවැරදි කිරීම එහි පිළිතුරෙන් ඉස්මතු කිරීම අවශ්‍ය යැයි මට හැඟේ. කිසියම් අවස්ථාවක ඔබ අනාරක්ෂිත HTTP පිහිටුවා පරිශීලක අන්තර්ගතයන් අපේක්‍ෂා කර ඇත්නම්, පෝරම තිබේ නම්, API සත්කාරකත්වය දරන්නේ නම් හෝ ඔබේ වෙබ් අඩවියට කථා කිරීම සඳහා කිසියම් වෙබ් අඩවියක්, මෙවලමක්, යෙදුමක් හෝ උපයෝගීතාවයක් වින්‍යාස කර තිබේ නම් පෙර පිළිතුරු කිසිවක් ආරක්ෂිත නොවේ.

POSTඔබගේ සේවාදායකයට ඉල්ලීමක් කළ විට ගැටළුව ඇතිවේ . සරල 30xයළි-යොමුවීමක් සමඟ සේවාදායක ප්‍රතිචාරය POST අන්තර්ගතය නැති වී යයි. සිදු වෙන්නේ කුමක්ද බ්රව්සරය / සේවාදායක ඉල්ලීම SSL ලෙස ප්රගමනය නමුත් වනු ඇත යන්න යි පහත හෙලන ලද POSTවෙත GETඉල්ලීමක්. මෙම POSTපරාමිතීන් අහිමි වනු ඇත හා වැරදි ඉල්ලීම සඳහා ඔබගේ සේවාදායකයේ සිදු කරනු ලැබේ.

විසඳුම සරලයි. ඔබ HTTP 1.1 307යළි-යොමුවීමක් භාවිතා කළ යුතුය. මෙය RFC 7231 S6.4.7 හි සවිස්තරව දක්වා ඇත:

  Note: This status code is similar to 302 (Found), except that it
  does not allow changing the request method from POST to GET.  This
  specification defines no equivalent counterpart for 301 (Moved
  Permanently) ([RFC7238], however, defines the status code 308
  (Permanent Redirect) for this purpose).

පිළිගත් විසඳුමෙන් අනුවර්තනය කරන ලද විසඳුම 307ඔබේ යළි-යොමුවීම් කේතයේ භාවිතා කිරීමයි :

server {
       listen         80;
       server_name    my.domain.com;
       return         307 https://$server_name$request_uri;
}

server {
       listen         443 ssl;
       server_name    my.domain.com;
       # add Strict-Transport-Security to prevent man in the middle attacks
       add_header Strict-Transport-Security "max-age=31536000"; 

       [....]
}

4

මම මේ ආකාරයට එය කිරීමට සමත් විය:

server {
listen 80;
listen 443 ssl;

server_name domain.tld www.domain.tld;

# global HTTP handler
if ($scheme = http) {
        return 301 https://www.domain.tld$request_uri;
}

# global non-WWW HTTPS handler
if ($http_host = domain.tld){
        return 303 https://www.domain.tld$request_uri;
}
}

https://stackoverflow.com/a/36777526/6076984


යාවත්කාලීන කළ අනුවාදය, w / o IF: paste.debian.net/plain/899679
stamster

4

මම AWS ELB පිටුපස ngnix ධාවනය කරමි. ELB http හරහා ngnix සමඟ කතා කරයි. සේවාදායකයින්ට යළි-යොමුවීම් යැවීමට ELB හට ක්‍රමයක් නොමැති බැවින්, මම X-Forwarded-Proto ශීර්ෂය පරීක්ෂා කර නැවත හරවා යැවීම:

if ($http_x_forwarded_proto != 'https') {
    return 301 "https://www.exampl.com";
}

1

ඔබ return 301 https://$host$request_uri;80 වන වරායේ පෙරනිමි ප්‍රතිචාරය නම්, ඔබේ සේවාදායකය ඉක්මනින් හෝ පසුව විවෘත ප්‍රොක්සි ලැයිස්තුවක් ලබාගෙන [1] අන්තර්ජාලයේ වෙනත් තැනක ගමනාගමනය යැවීම සඳහා අපයෝජනයට ලක්විය හැකිය. ඔබගේ ල logs ු-සටහන් මෙවැනි පණිවිඩ වලින් පුරවන්නේ නම්, එය ඔබට සිදු වූ බව ඔබ දන්නවා:

42.232.104.114 - - [25/Mar/2018:04:50:49 +0000] "GET http://www.ioffer.com/i/new-fashion-fine-gold-bracelet-versaec-bracelet-641175733 HTTP/1.1" 301 185 "http://www.ioffer.com/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; Hotbar 4.1.8.0; RogueCleaner; Alexa Toolbar)"

ගැටළුව නම් $host, බ්‍රව්සරය Hostශීර්ෂයට යවන ඕනෑම දෙයක් හෝ HTTP හි ආරම්භක රේඛාවෙන් ධාරක නාමය පවා ප්‍රතිරාවය කිරීමයි .

GET http://www.ioffer.com/i/new-fashion-fine-gold-bracelet-versaec-bracelet-641175733 HTTP/1.1

එම ගැටළුව නිසා, මෙහි වෙනත් පිළිතුරු $server_nameවෙනුවට නිර්දේශ කරයි $host. $server_nameසෑම විටම ඔබserver_name ප්‍රකාශයේ සඳහන් දේ ඇගයීමට ලක් කරයි . නමුත් ඔබට එහි බහු උප ඩොමේන් තිබේ නම් හෝ ආදේශක කාඩ්පතක් භාවිතා කරන්නේ නම්, එය ක්‍රියා නොකරනු ඇත, මන්ද ප්‍රකාශ කිරීමෙන් පසු පළමු ප්‍රවේශය $server_nameපමණක් භාවිතා කරන අතර වඩා වැදගත් වන්නේ ආදේශක කාඩ්පතක් නැවත ප්‍රතිරාවය කිරීමයි (එය පුළුල් නොකරන්න).server_name

ආරක්ෂාව පවත්වා ගනිමින් බහු වසම් වලට සහය දක්වන්නේ කෙසේද? මගේ ම පද්ධති මත මම මෙම උභතෝකෝටිකය සමඟ කටයුතු කර ඇත පළමු වන ලැයිස්තුගත default_serverභාවිතා නොවන බව වාරණ $host, පසුව කරන්නේ බව ආදේශක වාරණ ලැයිස්තුව බලන්න:

server {
  listen 80 default_server;
  server_name example.com;
  return 301 https://example.com$request_uri;
}
server {
  listen 80;
  server_name *.example.com;
  return 301 https://$host$request_uri;
}

(ඔබට දෙවන කොටසේ එක් වසමකට වඩා ලැයිස්තු ගත කළ හැකිය.)

එම සංයෝජනය සමඟ, අසමසම වසම් කොතැනක හෝ දෘ c කේත කර ඇති (සෑම විටම example.com) හරවා යවනු ලබන අතර , ඔබට ගැලපෙන වසම් නිවැරදි ස්ථානයට යයි. විවෘත සේවාදායකයක් ලෙස ඔබේ සේවාදායකය ප්‍රයෝජනවත් නොවනු ඇත, එබැවින් ඔබ කරදරයට පත් නොවනු ඇත.

ඔබට විසිතුරු බවක් දැනෙනවා නම් , ඔබේ නීත්‍යානුකූල වසම් වලට default_serverගැලපෙන පරිදි බ්ලොක් එකක් බවට පත් කර අහිතකර දෙයක් කිරීමට ඔබට හැකි යැයි මම සිතමි . . . .

[1] තාක්‍ෂණිකව “ප්‍රොක්සි” යනු වැරදි වචනයකි, මන්ද ඔබේ සේවාදායකයා පිටතට නොයන අතර සේවාදායකයින් සඳහා වන ඉල්ලීම් ඉටු නොකරයි, යළි-යොමුවීමක් යවයි, නමුත් නිවැරදි වචනය කුමක් දැයි මට විශ්වාස නැත. ඉලක්කය කුමක්දැයි මට විශ්වාස නැත, නමුත් එය ඔබේ ලොගයන් ශබ්දයෙන් පුරවා ඔබේ CPU සහ කලාප පළල පරිභෝජනය කරයි, එබැවින් ඔබට එය නැවැත්විය හැකිය.


කේතය නිසා එවැනි "විවෘත ප්‍රොක්සි" පිළිබඳ පූර්වාදර්ශයක් ඔබට තිබේද return 301 https://$host$request_uri;? මගේ ඕනෑම HTTP වෙබ් අඩවියක් එකම නමුත් HTTPS වෙත හරවා යැවීම සඳහා එක් විශ්ව බ්ලොක් එකක් නිර්මාණය කිරීමේ අදහසට මා කැමතිය.
ඇලෙක්සි වස්නොව්

0

පෙනෙන ආකාරයට කිසිවෙකු එය 100% නිවැරදිව තේරුම් ගෙන නැත. වරාය 80 ඉල්ලීම් සම්පූර්ණ වෙබ් සේවාදායකයක් සඳහා ඔවුන්ගේ 443 ට සමාන වීමට නම්, ඔබ විසින් ඇහුම්කන් දීමේ විධානය භාවිතා කළ යුතුය, අල්ලා ගැනීමේ සියලු නම සඳහන් කිරීම සඳහා සේවාදායක_ නාම විධානය නොවේ . Https://nginx.org/en/docs/http/request_processing.html ද බලන්න

සේවාදායකය {
    සවන් 80 පෙරනිමිය;
    සවන් දෙන්න [::]: පෙරනිමි 80;
      ආපසු 307 https: // $ host $ request_uri;
}
  • $ ධාරක උප ඩොමේන් නම් අල්ලා ගනී.
  • 307 සහ 308 අතර POST සහ GET ඉල්ලීම් URIs ඇතුළත් වේ.
  • 307 තාවකාලිකයි, සම්පූර්ණ පරීක්ෂණයෙන් පසු ස්ථිර 308 වෙත වෙනස් කරන්න:

/Etc/nginx/conf.d/ හි ඇති දේ ඔබ දැනටමත් පරීක්ෂා කර ඇති බවට වග බලා ගන්න. මන්දයත් බොහෝ විට මට පෙරනිමි.කොන්ෆ් විසින් දැනට පවතින වොස්ට් කිහිපයක් ආපසු ලබා දුන් ගැටළු ඇති බැවිනි. එන්ජින්එක්ස් ගැටළු සමඟ වැඩ කිරීමේ මගේ ඇණවුම සෑම විටම ආරම්භ වන්නේ පෙරනිමි ගොනුව පිටතට ගෙන යාමෙන්, එය වැරදී යන්නේ කොතැනට දැයි බැලීමට පේළියෙන් පේළියට අදහස් දැක්වීමෙනි.


-1
rewrite ^!https https://$host$request_uri permanent;
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.