How to allow access to specific IPs from Nginx server. - Networking වැඩ්ඩෝ එන්ඩෝ

DevOps_Boy

Active member
  • Jul 28, 2023
    238
    120
    43
    මචන් මට ඔනේ වෙලා තියෙනවා Nginx Server එකක හොස්ට් කරලා තියන වෙබ්සයිට් එකකට ලන්කාවෙන් පිට අයට ලොග් වෙන්න බැරි විදියට හදන්න. ඒ කිව්වෙ මට ස්පෙසිෆික් IPs ටිකක් දාන්න ඔනේ ඒ ටිකට ලොග් වෙන්න. Ex.125.35.76.95/24 වගෙ සෙට් කරන්න ඕනේ. මම Nginx.conf එකෙ allow 125.35.76.95/24; deny all; වගේ දැම්මට හරි ගියේ නෑ. internet එකේ තිබ්බ ඒවා කරාට සෙට් උනේ නෑ. මේක කරගන්න විදියක් කියන්නකො මචන්. ලොකු උදව්වක්.

    PS. මෙකේ තියන ෆයිල් චේන්ජ් කරලත් බැලුව. සෙට් උනේ නෑ. දන්න අය උදව්වක් දෙන්න. - @හෙළයෙක්, @hecker_thama , @HAneo

    1694186866111.png
     

    DevOps_Boy

    Active member
  • Jul 28, 2023
    238
    120
    43
    උබව අරව allow list , deny list දාල රීස්ටාර්ට් එකක් කරාද ඉස්සලම කියපන් 🙄
    ඔව් මචන් restart කරා.Nginx -t වලින් confirm කරගෙන තමයි රීස්ටාර්ට් කරේ.


    server {
    #listen 12345;
    #deny 192.168.1.2;
    allow 175.157.39.234;
    deny 164.68.65.20.120;
    #allow 192.168.1.1/24;
    #allow 2001:0db8::/32;
    deny all;
    }
    මේ තියෙන්නේ මම කරපු විදිය.
     

    turbo121

    Active member
  • Apr 9, 2016
    597
    240
    43
    i used a module(for long time back) like geoIP to block access for some region. can use that to allow only for sri Lankan IPs only
     

    DevOps_Boy

    Active member
  • Jul 28, 2023
    238
    120
    43
    i used a module(for long time back) like geoIP to block access for some region. can use that to allow only for sri Lankan IPs only
    මට specific IPs ටිකක් තියනව. ඒ ටික විතරක් allow කරගන්න ඕනේ. CIDR එක්කම. geoIP කියන එක Nginx එකට එන මොඩියුල් එකක්ද?
     

    turbo121

    Active member
  • Apr 9, 2016
    597
    240
    43
    මට specific IPs ටිකක් තියනව. ඒ ටික විතරක් allow කරගන්න ඕනේ. CIDR එක්කම. geoIP කියන එක Nginx එකට එන මොඩියුල් එකක්ද?
    yes, ekenuth puluwan, but den dala thiyena ekath seems to okay(except that wrong IP) better to get help from chatGPT if did not use yet
     

    DevOps_Boy

    Active member
  • Jul 28, 2023
    238
    120
    43
    location / {
    allow 175.157.39.234;
    deny 164.68.65.20;
    deny all;
    }

    sudo systemctl reload nginx
    මචන් මේක Nginx.conf එක ඇතුලේ නේද දාන්න ඔනේ. අපි location කියන තැන මුකුත් දාන්න ඔනෙ නෑ නේද? මම nginx.conf එකේ මේක වෙනම blok එකක් විදියට හදලා දාලා බලන්නම්. Thanks
     
    • Like
    Reactions: hecker_thama

    hecker_thama

    Well-known member
  • Dec 27, 2022
    6,764
    6,978
    113
    මචන් මේක Nginx.conf එක ඇතුලේ නේද දාන්න ඔනේ. අපි location කියන තැන මුකුත් දාන්න ඔනෙ නෑ නේද? මම nginx.conf එකේ මේක වෙනම blok එකක් විදියට හදලා දාලා බලන්නම්. Thanks
    .conf eke daanna oone ookema edit karannath puluwan eet passe reload krnn service ek araya kiyala thiyenwa hari
     

    DevOps_Boy

    Active member
  • Jul 28, 2023
    238
    120
    43
    .conf eke daanna oone ookema edit karannath puluwan eet passe reload krnn service ek araya kiyala thiyenwa hari
    nginx: [warn] duplicate network "::0/0", value: "0", old value: "1" in /etc/nginx/sites-enabled/3cxpbx:14
    nginx: [emerg] "location" directive is not allowed here in /etc/nginx/nginx.conf:69
    nginx: configuration file /etc/nginx/nginx.conf test failed

    මම හිතන්නේ මේක nginx.conf එකේ දන්න දෙන්නේ නෑ වගේ.
     

    devops

    Well-known member
  • Apr 3, 2023
    636
    477
    63
    colombo
    Devops with nana ගේ bootcamp එකේ 110 වෙනි වීඩියෝ එකේ තියෙන්නෙ මේ සීන් එක වෙන්නොන.
     

    Attachments

    • IMG_0357.png
      IMG_0357.png
      528.9 KB · Views: 71
    • Like
    Reactions: Schrodinger Cat

    hecker_thama

    Well-known member
  • Dec 27, 2022
    6,764
    6,978
    113
    nginx: [warn] duplicate network "::0/0", value: "0", old value: "1" in /etc/nginx/sites-enabled/3cxpbx:14
    nginx: [emerg] "location" directive is not allowed here in /etc/nginx/nginx.conf:69
    nginx: configuration file /etc/nginx/nginx.conf test failed

    මම හිතන්නේ මේක nginx.conf එකේ දන්න දෙන්නේ නෑ වගේ.
    3xpbx eke

    allow ::0/0

    mehema 2 k athi eeken 1k ain karala blnn


    eetpasse service eka reload krl blnn

    nginx: [emerg] "location" directive is not allowed here in /etc/nginx/nginx.conf:69
    conf file eka paste karala awlk gihin :cautious:
    ------ Post added on Sep 8, 2023 at 10:28 PM
     

    Anonymous_Abstract

    Well-known member
  • Aug 7, 2018
    6,036
    4,570
    113
    Messier 87
    මචන් මේක Nginx.conf එක ඇතුලේ නේද දාන්න ඔනේ. අපි location කියන තැන මුකුත් දාන්න ඔනෙ නෑ නේද? මම nginx.conf එකේ මේක වෙනම blok එකක් විදියට හදලා දාලා බලන්නම්. Thanks
    conf eka nemai ban sites-enabled karala neththnam default eke dapan

    /etc/nginx/sites-available - > vi default

    -------------------------------------
    sites-enabled nam ekata adala config eke dapan
     

    DevOps_Boy

    Active member
  • Jul 28, 2023
    238
    120
    43
    conf eka nemai ban sites-enabled karala neththnam default eke dapan

    /etc/nginx/sites-available - > vi default

    -------------------------------------
    sites-enabled nam ekata adala config eke dapan
    මචන් අපි site-enabled කියලා කොහොමද බලා ගන්නේ. site-enabled ekei site-available එක ඇතුලෙයි files එකක් වගේ තියනවා. මේවගේ ඇතුලේ ගොඩක් configs තියෙනවනේ
     

    hecker_thama

    Well-known member
  • Dec 27, 2022
    6,764
    6,978
    113
    මචන් අපි site-enabled කියලා කොහොමද බලා ගන්නේ. site-enabled ekei site-available එක ඇතුලෙයි files එකක් වගේ තියනවා. මේවගේ ඇතුලේ ගොඩක් configs තියෙනවනේ
    ls -l /etc/nginx/sites-enabled/
    meken ned? @Anonymous_Abstract
     

    DevOps_Boy

    Active member
  • Jul 28, 2023
    238
    120
    43
    ls -l /etc/nginx/sites-enabled/
    meken ned? @Anonymous_Abstract
    මේ command එක run කලාම මේක එනවා මචන්
    pbxgdp -> /var/lib/pbxgdp /Bin/nginx/conf/nginx.conf

    එකේ මුල තියෙන්නෙ මෙහෙම කොටසක්. මේකේ කොහොමද edit කරන්නේ

    Code:
    map $http_upgrade $connection_upgrade {
        default upgrade;
        '' $http_connection;
    }
    
    
        geo $is_remote {
            default 1;
            192.168.0.0/16 0;
            172.16.0.0/12 0;
            10.0.0.0/8 0;
            127.0.0.1 0;
            ::0/0 0;
        }
    
        upstream gateway {
            server 127.0.0.1:5008;
    
            keepalive 100;
        }
    
        upstream mc {
            server unix:/var/run/pbxgdp/management_console01.socket;
    
            keepalive 100;
        }
    
        server {
            listen       443 ssl http2;
            listen [::]:443 ssl http2;
            listen 80;
            listen [::]:80;
            server_name  document.pbx.in;
            server_tokens off;
            
    
            access_log off;
            error_log /dev/null crit;
    
            if ($scheme = 'http'){
                set $block_remote "1";
            }
            if ($is_remote){
                set $block_remote "${block_remote}+1";
            }
            if ($block_remote = "1+1"){
                return 403;
            }
     

    hecker_thama

    Well-known member
  • Dec 27, 2022
    6,764
    6,978
    113
    මේ command එක run කලාම මේක එනවා මචන්
    pbxgdp -> /var/lib/pbxgdp /Bin/nginx/conf/nginx.conf

    එකේ මුල තියෙන්නෙ මෙහෙම කොටසක්. මේකේ කොහොමද edit කරන්නේ

    Code:
    map $http_upgrade $connection_upgrade {
        default upgrade;
        '' $http_connection;
    }
    
    
        geo $is_remote {
            default 1;
            192.168.0.0/16 0;
            172.16.0.0/12 0;
            10.0.0.0/8 0;
            127.0.0.1 0;
            ::0/0 0;
        }
    
        upstream gateway {
            server 127.0.0.1:5008;
    
            keepalive 100;
        }
    
        upstream mc {
            server unix:/var/run/pbxgdp/management_console01.socket;
    
            keepalive 100;
        }
    
        server {
            listen       443 ssl http2;
            listen [::]:443 ssl http2;
            listen 80;
            listen [::]:80;
            server_name  document.pbx.in;
            server_tokens off;
           
    
            access_log off;
            error_log /dev/null crit;
    
            if ($scheme = 'http'){
                set $block_remote "1";
            }
            if ($is_remote){
                set $block_remote "${block_remote}+1";
            }
            if ($block_remote = "1+1"){
                return 403;
            }
    hpph man ochchara danne ne bro man nam conf eke tikama edit karanawa nettm leda