Puncte:0

Serverul Nginx continuă să servească pagina principală Debian

drapel in

Încerc să creez un site web personalizat simplu. Am construit un server simplu folosind Golang și framework-ul Gin-gonic. Serverul My Go este după cum urmează:

func principal() {
        r := gin.Default()
        r.GET("/", ServeMainPage)
        r.GET("/icons/openlogo-75.png", func(c *gin.Context) {
                c.File ("favicon.ico")
        })
        r.GET("/episode/:id", ServeEpisode)
        r.GET("stiluri/stil.css", func(c *gin.Context) {
                c.File("stiluri/stil.css")
        })
        r.GET("scripts/main.js", func(c *gin.Context) {
                c.File("scripts/main.js")
        })
        r.GET("favicon.ico", func(c *gin.Context) {
                c.File ("favicon.ico")
        })
        r.Run()
}

func ServeMainPage(c *gin.Context) {
        c.Fișier("index.html")
}

func ServeEpisode(c *gin.Context) {
        episodeID := c.Param ("id")
        calea fișierului := „Fișiere audio/” + episodeID + „.mp3”
        c.Fișier(calea fișierului)
}

Deoarece acest proces nu poate accesa portul 80 (se rulează pe :8080) și pentru că încerc să-mi dezvolt abilitățile, am încercat să configurez un server nginx pentru a acționa ca un proxy invers. Serverul meu nginx are următoarea conf, care este implicit,

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

si am urmat tutorialul Aici pentru a trimite lucrurile către aplicația mea Golang, adăugând următoarele la /etc/nginx/sites-available/ro și simbolic care leagă asta de /etc/nginx/sites-enabled/ro.

Server {
        asculta 80;
        nume_server running-oaks.com;

        Locație / {
                proxy_set_header X-Forwarded-For $remote_addr;
                proxy_set_header Gazdă $http_host;
                proxy_pass „http://127.0.0.1:8080”;
        }
}

Dacă folosesc curl pe PC-ul meu local pentru a-mi accesa serverul, primesc pagina index.html pe care aș dori ca acesta să fie server. Comanda mea de curl este pur și simplu curl http://123.123.123.123, Unde 123.123.123.123 este înlocuit cu IP-ul real al serverului meu de la distanță.

Cu toate acestea, încercarea de a accesa aceeași adresă IP cu browserul meu web îmi arată pur și simplu pagina implicită Apache pentru Debian.Am dezinstalat apache înainte de a configura nginx pentru a in speranta evita conflictele. Atât în ​​cazul curl, cât și în cel al browserului, pot vedea că aplicația mea Golang primește solicitările și returnează starea 200.

Deci, de ce browser-ul meu îmi arată în continuare pagina debian?

m-am schimbat si eu /var/www/index.html să fie pagina nginx implicită, deși nici asta nu a rezolvat-o.

Puncte:0
drapel de

Problema este că solicitarea dvs. nu se potrivește cu blocul dvs. de server, dar se potrivește cu blocul implicit de server.

Tu ai:

Server {
        asculta 80;
        nume_server running-oaks.com;

Care va potrivi orice cerere care vine pe portul 80 cu numele de gazdă „running-oaks.com”.

Din cutie, Ubuntu include un fișier de site deja activat /etc/nginx/sites-enabled/default care este o legătură simbolică către /etc/nginx/sites-available/default. Aceasta este definiția site-ului care oferă pagina principală Debian.

În acest fișier de configurare, există un bloc de server care începe astfel:

Server {
        asculta 80 default_server;
        asculta [::]:80 default_server;

Acest bloc nu are server_name, dar are implicit_server directivă. Aceasta înseamnă că orice cerere care vine pe portul 80 care nu se potrivește cu alt bloc de server ar trebui să folosească acest bloc de server.

Deoarece cererea dvs. folosește IP-ul direct și nu numele de gazdă pe care l-ați specificat în directiva server_name, cererea dvs. se potrivește cu serverul implicit în loc de propriul dvs.

Pentru a remedia acest lucru, puteți șterge linkul simbolic de la /etc/nginx/sites-enabled/default și adăugați implicit_server directivă către linia dvs. de ascultare. Nu uitați să reporniți Nginx după ce faceți acest lucru.

(Adăugarea default_server este redundantă, deoarece dacă există un singur server, acesta este implicit implicit, dar este mai bine să fie explicit.)

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.