Puncte:1

nginx nu acceptă conexiuni de la IP-uri externe

drapel mc

Am un server Ubuntu și am instalat nginx și nu acceptă conexiuni de la IP-uri externe (văd ERR_CONNECTION_REFUSED când încerc să fac o solicitare din browser)

Nginx rulează, răspunde când fac cereri locale sau prin redirecționarea portului ssh.

80 este deschis și: sudo tcpdump portul 80

tcpdump: ieșirea verbosă a fost suprimată, utilizați -v sau -vv pentru decodarea completă a protocolului
ascultare pe ens3, tip link EN10MB (Ethernet), dimensiunea capturii 262144 octeți
21: 43: 22.336738 IP Instanță-20210822-2338.subnet07230103.vcn07230103.oraclevcn.com.54174> 169.254.169.254.http: steaguri [.], ACK 470550867, Win 472, Opțiuni [NOP, NOP, TS VAL 2352881 ], lungime 0
21:43:22.336873 IP 169.254.169.254.http > instance-20210822-2338.subnet07230103.vcn07230103.oraclevcn.com.54174: Flags [.], options [.], win 5230103, 07230103. ], lungime 0
21: 43: 29.002266 IP Instanță-20210822-2338.subnet07230103.vcn07230103.oraclevcn.com.54176> 169.254.169.254.http: steaguri [S], SEQ 1921592569, Win 62720, Opțiuni [MSS 8960, Sackok, T 22720, Opțiuni [MSS 8960, Sackok, t Val 23528888 0,nop,wscale 7], lungime 0
21:43:29.002425 IP 169.254.169.254.http > instance-20210822-2338.subnet07230103.vcn07230103.oraclevcn.com.54176: Flags [S.], opțiuni 6, 9230103.vcn0723. nop,TS val 1049109950 ecr 2352888022,nop,wscale 9], lungime 0

Cum pot depana de ce nginx nu primește solicitări?

UPD nginx -T ieșire

nginx: sintaxa fișierului de configurare /etc/nginx/nginx.conf este ok
nginx: fișierul de configurare /etc/nginx/nginx.conf testul a reușit
# fișier de configurare /etc/nginx/nginx.conf:
utilizator www-date;
worker_proceses auto;
pid /run/nginx.pid;
includ /etc/nginx/modules-enabled/*.conf;

evenimente {
    conexiuni_muncitor 768;
    # multi_accept on;
}

http {

    ##
    # Setări de bază
    ##

    sendfile activat;
    tcp_nopush activat;
    tcp_nodelay activat;
    keepalive_timeout 65;
    types_hash_max_size 2048;
    # server_tokens off;

    # server_names_hash_bucket_size 64;
    # server_name_in_redirect off;

    includ /etc/nginx/mime.types;
    aplicație de tip_default/octet-stream;

    ##
    # Setări SSL
    ##

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # Eliminarea SSLv3, ref: POODLE
    ssl_prefer_server_ciphers activat;

    ##
    # Setări de înregistrare
    ##

    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;

    ##
    # Setări Gzip
    ##

    gzip on;

    # gzip_vary on;
    # gzip_proxied orice;
    # gzip_comp_level 6;
    # gzip_buffers 16 8k;
    # gzip_http_version 1.1;
    # gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

    ##
    # Configurații gazdă virtuală
    ##

    includ /etc/nginx/conf.d/*.conf;
    includ /etc/nginx/sites-enabled/*;
}


#Poștă {
# # Vezi exemplu de script de autentificare la:
# # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript
#
# # auth_http localhost/auth.php;
# # pop3_capabilities „TOP” „USER”;
# # imap_capabilities „IMAP4rev1” „UIDPLUS”;
#
#   Server {
# asculta localhost:110;
# protocol pop3;
# proxy activat;
#}
#
#   Server {
# asculta localhost:143;
# protocol imap;
# proxy activat;
#}
#}

# fișier de configurare /etc/nginx/modules-enabled/50-mod-http-image-filter.conf:
load_module modules/ngx_http_image_filter_module.so;

# fișier de configurare /etc/nginx/modules-enabled/50-mod-http-xslt-filter.conf:
load_module modules/ngx_http_xslt_filter_module.so;

# fișier de configurare /etc/nginx/modules-enabled/50-mod-mail.conf:
load_module modules/ngx_mail_module.so;

# fișier de configurare /etc/nginx/modules-enabled/50-mod-stream.conf:
load_module modules/ngx_stream_module.so;

# fișier de configurare /etc/nginx/mime.types:

tipuri {
    text/html html htm shtml;
    text/css css;
    text/xml xml;
    imagine/gif gif;
    imagine/jpeg jpeg jpg;
    aplicație/javascript js;
    aplicație/atom+xml atom;
    aplicație/rss+xml rss;

    text/mathml mml;
    text/txt simplu;
    text/vnd.sun.j2me.app-descriptor jad;
    text/vnd.wap.wml wml;
    text/x-component htc;

    imagine/png png;
    imagine/tiff tif tiff;
    imagine/vnd.wap.wbmp wbmp;
    imagine/x-icoană ico;
    imagine/x-jng jng;
    imagine/x-ms-bmp bmp;
    imagine/svg+xml svg svgz;
    imagine/webp webp;

    aplicație/font-woff woff;
    aplicație/java-arhivă jar war ear;
    aplicație/json json;
    aplicație/mac-binhex40 hqx;
    aplicație/msword doc;
    cerere/pdf pdf;
    aplicație/postscript ps eps ai;
    aplicație/rtf rtf;
    application/vnd.apple.mpegurl m3u8;
    application/vnd.ms-excel xls;
    application/vnd.ms-fontobject eot;
    application/vnd.ms-powerpoint ppt;
    application/vnd.wap.wmlc wmlc;
    application/vnd.google-earth.kml+xml kml;
    application/vnd.google-earth.kmz kmz;
    aplicație/x-7z-comprimat 7z;
    aplicare/x-cacao cco;
    application/x-java-archive-diff jardiff;
    aplicație/x-java-jnlp-fișier jnlp;
    aplicație/x-makeself rulează;
    application/x-perl pl pm;
    application/x-pilot prc pdb;
    application/x-rar-compressed rar;
    application/x-redhat-package-manager rpm;
    aplicare/x-mare mare;
    aplicație/x-shockwave-flash swf;
    application/x-stuffit sit;
    aplicație/x-tcl tcl tk;
    application/x-x509-ca-cert der pem crt;
    aplicație/x-xpinstall xpi;
    aplicație/xhtml+xml xhtml;
    aplicație/xspf+xml xspf;
    aplicare/zip zip;

    aplicație/octet-stream bin exe dll;
    application/octet-stream deb;
    application/octet-stream dmg;
    application/octet-stream iso img;
    aplicație/octet-stream msi msp msm;

    application/vnd.openxmlformats-officedocument.wordprocessingml.document docx;
    application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx;
    application/vnd.openxmlformats-officedocument.presentationml.presentation pptx;

    audio/midi mid midi kar;
    audio/mpeg mp3;
    audio/ogg ogg;
    audio/x-m4a m4a;
    audio/x-realaudio ra;

    video/3gpp 3gpp 3gp;
    video/mp2t ts;
    video/mp4 mp4;
    video/mpeg mpeg mpg;
    video/quicktime mov;
    video/webm webm;
    video/x-flv flv;
    video/x-m4v m4v;
    video/x-mng mng;
    video/x-ms-asf asx asf;
    video/x-ms-wmv wmv;
    video/x-msvideo avi;
}

# fișier de configurare /etc/nginx/sites-enabled/default:
##
# Ar trebui să vă uitați la următoarele adrese URL pentru a înțelege o înțelegere solidă
# de fișiere de configurare Nginx pentru a elibera pe deplin puterea lui Nginx.
# https://www.nginx.com/resources/wiki/start/
# https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/
# https://wiki.debian.org/Nginx/DirectoryStructure
#
# În majoritatea cazurilor, administratorii vor elimina acest fișier de pe site-uri activate/ și
# lăsați-l ca referință în interiorul site-urilor-disponibil acolo unde va continua să fie
# actualizat de echipa de ambalare nginx.
#
# Acest fișier va încărca automat fișierele de configurare furnizate de alții
# aplicații, cum ar fi Drupal sau Wordpress. Aceste cereri se vor face
# disponibil sub o cale cu acel nume de pachet, cum ar fi /drupal8.
#
# Consultați /usr/share/doc/nginx-doc/examples/ pentru exemple mai detaliate.
##

# Configurația implicită a serverului
#
Server {
    asculta 80 default_server;

    # Configurare SSL
    #
    # asculta 443 ssl default_server;
    # asculta [::]:443 ssl default_server;
    #
    # Notă: ar trebui să dezactivați gzip pentru traficul SSL.
    # Vezi: https://bugs.debian.org/773332
    #
    # Citiți informații despre ssl_ciphers pentru a asigura o configurație sigură.
    # Vezi: https://bugs.debian.org/765782
    #
    # Certificate autosemnate generate de pachetul ssl-cert
    # Nu le folosiți pe un server de producție!
    #
    # include snippets/snakeoil.conf;

    rădăcină /var/www/html;

    # Adăugați index.php la listă dacă utilizați PHP
    index index.html index.htm index.nginx-debian.html;

    numele serverului _;

    Locație / {
        # Mai întâi încercați să serviți cererea ca fișier, apoi
        # ca director, apoi reveniți la afișarea unui 404.
        try_files $uri $uri/ =404;
    }

    # treceți scripturile PHP către serverul FastCGI
    #
    #locație ~ \.php$ {
    # include snippets/fastcgi-php.conf;
    #
    # # Cu php-fpm (sau alte socket-uri Unix):
    # fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
    # # Cu php-cgi (sau alte socket-uri tcp):
    # fastcgi_pass 127.0.0.1:9000;
    #}

    # interzice accesul la fișierele .htaccess, dacă rădăcina documentului Apache
    # de acord cu cel al lui nginx
    #
    #locație ~ /\.ht {
    # nega totul;
    #}
}

netstat -putan ieșire

(Nu toate procesele au putut fi identificate, informații despre proces nedeținute
 nu va fi afișat, ar trebui să fiți root pentru a vedea totul.)
Conexiuni la Internet active (servere și stabilite)
Proto Recv-Q Trimitere-Q Adresă locală Adresă străină Stat PID/Nume program
tcp 0 0 127.0.0.53:53 0.0.0.0:* ASCULTĂ -
tcp 0 0 0.0.0.0:22 0.0.0.0:* ASCULTĂ -
tcp 0 0 0.0.0.0:111 0.0.0.0:* ASCULTĂ -
tcp 0 0 0.0.0.0:80 0.0.0.0:* ASCULTĂ -
tcp 0 36 10.0.0.61:22 176.115.102.236:47199 INFIINTAT -
tcp 0 0 10.0.0.61:37594 91.189.91.121:80 TIME_WAIT -
tcp6 0 0 :::22 :::* ASCULTĂ -
tcp6 0 0 :::111 :::* ASCULTĂ -
udp 0 0 127.0.0.53:53 0.0.0.0:* -
udp 0 0 10.0.0.61:68 0.0.0.0:* -
udp 0 0 0.0.0.0:111 0.0.0.0:* -
udp6 0 0 :::111 :::* -
Alex avatar
drapel in
există iptables/firewalld care rulează?
Artem Ilchenko avatar
drapel mc
@Alex pare că nu `sudo ufw status verbose` -> `Stare: inactiv` `sudo iptables -nL | grep 80` -> `ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 ctstate NOU, INSTALAT ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:80 ctstate ESTABLISHED`
Alex avatar
drapel in
ce spune netstat -putan
Michael Hampton avatar
drapel cz
Vă rugăm să postați rezultatul lui `nginx -T`
Artem Ilchenko avatar
drapel mc
@Alex a actualizat în cauză
Artem Ilchenko avatar
drapel mc
@MichaelHampton a fost actualizat în cauză
Alex avatar
drapel in
spălați iptables temporar, astfel încât să nu împiedice depanarea și vedeți dacă acestea sunt problema. În caz contrar, ați putea pierde mult timp pentru o configurație greșită evidentă a firewall-ului
Artem Ilchenko avatar
drapel mc
@Alex da, ai dreptate, m-a ajutat, mulțumesc mult
Puncte:1
drapel in

Adăugând acest lucru pentru conștientizare dacă cineva caută pe google. Acest lucru se poate datora rulării unui firewall. Spălați iptables/firewalld/ufw și vedeți dacă problema persistă.

Artem Ilchenko avatar
drapel mc
deci, dacă `tcpdump` arată traficul de port, acesta poate fi încă filtrat de firewall

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.