Puncte:0

NGINX redirecționează către localhost:3000

drapel es

Folosesc ruby ​​on rails într-un container docker care rulează site-ul meu https://redrebelgames.com pe portul 3000. Încerc să configurez NGINX să redirecționeze traficul http:// către https:// și să redirecționeze portul 80 către portul 3000. Funcționează dacă mergi direct la adresa IP: 143.244.156.208. Chiar redirecționează traficul către portul 80. Cu toate acestea, unele dintre fotografii nu se încarcă așa cum se vede mai jos: introduceți descrierea imaginii aici

Și domeniul în sine nu funcționează. Ce este în neregulă cu configurația mea în /etc/nginx/sites-available/default? Puteți vedea interiorul fișierului mai jos:

##
# 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;
    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;

    # root /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 / {
        proxy_pass http://localhost:3000;
        # proxy_http_version 1.1;
        # proxy_set_header Actualizare $http_upgrade;
        # proxy_set_header Conexiune „upgrade”;
        # proxy_set_header Gazdă $gazdă;
        # proxy_cache_bypass $http_upgrade;
    
        # 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/ =403;
    }

    # 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;
    #}
}


# Configurarea gazdei virtuale pentru example.com
#
# Puteți muta asta într-un fișier diferit sub site-available/ și puteți trimite simbolul
# la site-uri activate/ pentru a-l activa.
#
#Server {
# asculta 80;
# asculta [::]:80;
#
# server_name example.com;
#
# root /var/www/example.com;
# index index.html;
#
#   Locație / {
# try_files $uri $uri/ =404;
#}
#}

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;

    # root /var/www/html;

    # Adăugați index.php la listă dacă utilizați PHP
    # index index.html index.htm index.nginx-debian.html;
    nume_server redrebelgames.com; # gestionat de Certbot


    Locație / {
        proxy_pass http://localhost:3000;
        # proxy_http_version 1.1;
        # proxy_set_header Actualizare $http_upgrade;
        # proxy_set_header Conexiune „upgrade”;
        # proxy_set_header Gazdă $gazdă;
        # proxy_cache_bypass $http_upgrade;
    
        # 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;
    #}


    asculta [::]:443 ssl ipv6only=on; # gestionat de Certbot
    asculta 443 ssl; # gestionat de Certbot
    ssl_certificate /etc/letsencrypt/live/redrebelgames.com/fullchain.pem; # gestionat de Certbot
    ssl_certificate_key /etc/letsencrypt/live/redrebelgames.com/privkey.pem; # gestionat de Certbot
    includ /etc/letsencrypt/options-ssl-nginx.conf; # gestionat de Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # gestionat de Certbot

}
Server {
    dacă ($gazdă = redrebelgames.com) {
        returnează 301 https://$host$request_uri;
    } # gestionat de Certbot


    asculta 80 ;
    asculta [::]:80 ;
    nume_server redrebelgames.com;
    întoarce 404; # gestionat de Certbot


}
Steffen Ullrich avatar
drapel se
*„Încerc să configurez NGINX pentru a redirecționa traficul http:// către https:// și __redirect__ portul 80 către portul 3000.”* - Nu. Încercați să __proxy__ portul 80 către portul 3000, așa cum poate fi văzut de Directiva `proxy_pass`. __Redirect__ înseamnă să instruiți browserul să viziteze o adresă URL diferită, ceea ce este imposibil în cazul dvs., deoarece `localhost:3000` este accesibil doar de pe computerul local. __Proxy__ înseamnă să transmiteți cererea clienților către serverul intern și să transmiteți răspunsul serverului înapoi clientului. În acest fel, serverul intern de pe localhost devine vizibil din exterior.
Michael Hampton avatar
drapel cz
Mai ai o problemă? Site-ul dvs. se încarcă bine, fără semne de redirecționări inadecvate.
drapel es
Pe mașina mea, încă se redirecționează către https://localhost:3000. Știi ce e în neregulă?

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.