mr_h4sh Skrevet 25. juni 2023 Del Skrevet 25. juni 2023 Hei. Jeg har konfigurert en Linux Ubuntu server med Nginx som reverse proxy og satt opp en Go web-server hvor jeg tenker å kjøre en Vue.js frontend. Har satt opp IP-en på serveren mot et domene via DNS. Problemet er som følger; når jeg besøker IP-en så blir jeg videresendt til domenet med SSL-kryptering, men 502 error. Når jeg går til IP:PORT så kommer jeg til Go-serveren uten SSL. Jeg har klødd meg i hue i for mange timer nå og må krype til korset å be om hjelp. NGINX reverse proxy oppsett: server { listen 80; server_name www.xxx.zzz xxx.zzz; return 301 https://www.xxx.zzz$request_uri; } server { listen 443 ssl; server_name www.xxx.zzz xxx.zzz; ssl_certificate /etc/letsencrypt/live/xxx/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/xxx/privkey.pem; ssl_prefer_server_ciphers on; ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; location / { proxy_pass https://xxx.xxx.xx.xx:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } } Go-servern package main import ( "fmt" "net/http" ) func main() { http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "Testing") }) http.ListenAndServe(":8080", nil) } Setter pris på all hjelp. Lenke til kommentar
strike_ Skrevet 25. juni 2023 Del Skrevet 25. juni 2023 Har du riktig IP på proxy_pass? Skjønner ikke hvorfor du har maskert den, det skal være en intern IP og det gjør ingenting om andre får vite den. Det skal også være http på proxy_pass og ikke https. Har du satt opp CNAME hos din DNS tilbyder? Har du åpnet port 443 på routeren? 1 Lenke til kommentar
mr_h4sh Skrevet 25. juni 2023 Forfatter Del Skrevet 25. juni 2023 (endret) Jepp, har skrevet IP til server der, har også prøvd med localhost og intern IP uten hell. Har også prøvd både http og https. Nei, har ikke satt opp CNAME, kun A-oppføringer. Hva skulle den bli satt til isåfall? 443 er åpen. Endret 25. juni 2023 av mr_h4sh Lenke til kommentar
strike_ Skrevet 25. juni 2023 Del Skrevet 25. juni 2023 A record peker kun mot IP. Du må sette opp CNAME som peker mot domenet ditt. Ser du har www som subdomene så akkurat i det her tilfellet så blir www CNAME om du skal bruke www Lenke til kommentar
strike_ Skrevet 25. juni 2023 Del Skrevet 25. juni 2023 Ser også du bruker let's encrypt. Du må sette opp subdomene som du setter som CNAME i let's encrypt oppsettet ditt også. Evt wildcard er jo det beste. Så må du sjekke let's encrypt loggen at sub domenet ditt blir validert. Lenke til kommentar
xaco Skrevet 25. juni 2023 Del Skrevet 25. juni 2023 8 minutes ago, strike_ said: A record peker kun mot IP. Du må sette opp CNAME som peker mot domenet ditt. Ser du har www som subdomene så akkurat i det her tilfellet så blir www CNAME om du skal bruke www Så lenge A recordene peker på samme IP så må man ikke bruke et CNAME, det gjør å oppdatere IPen lettere i fremtiden, men er ikke noe man må gjøre. Hva sier NGINX loggene på serveren? Lenke til kommentar
strike_ Skrevet 25. juni 2023 Del Skrevet 25. juni 2023 Kunne gitt deg ett eksempel på nginx config, men er på mobilen i senga så får evt ta det i mårra om du ikke kommer noen vei. 2 minutes ago, xaco said: Så lenge A recordene peker på samme IP så må man ikke bruke et CNAME, det gjør å oppdatere IPen lettere i fremtiden, men er ikke noe man må gjøre. Hva sier NGINX loggene på serveren? Da må man jo bruke IP i nginx configen også vel? Han har jo ingenting som peker mot www på domenet sitt om han ikke har satt opp www som CNAME som peker mot domenet. Lenke til kommentar
strike_ Skrevet 25. juni 2023 Del Skrevet 25. juni 2023 Og oppdatere IP trenger man ikke om man har satt opp f eks cloudfare dns eller duckdns program eller noe som hele tiden holder IP oppdatert. Har aldri oppdatert min IP. Lenke til kommentar
xaco Skrevet 25. juni 2023 Del Skrevet 25. juni 2023 1 minute ago, strike_ said: Da må man jo bruke IP i nginx configen også vel? Han har jo ingenting som peker mot www på domenet sitt om han ikke har satt opp www som CNAME som peker mot domenet. www kan fint være et A record også. Men problemet her er nok ikke DNS. Da hadde ikke trådstarter fått en 502 tilbake fra NGINX. 1 Lenke til kommentar
strike_ Skrevet 25. juni 2023 Del Skrevet 25. juni 2023 1 minute ago, xaco said: www kan fint være et A record også. Men problemet her er nok ikke DNS. Da hadde ikke trådstarter fått en 502 tilbake fra NGINX. Nei, A record peker kun mot IP så du får ikke satt www som A record. Det får hvertfall ikke jeg gjort hos cloudflare Lenke til kommentar
strike_ Skrevet 25. juni 2023 Del Skrevet 25. juni 2023 Akkurat nå har han et sub domene i nginx proxy configen som ikke peker noe sted hos dns tilbyderen. Lenke til kommentar
mr_h4sh Skrevet 25. juni 2023 Forfatter Del Skrevet 25. juni 2023 4 minutes ago, strike_ said: Nei, A record peker kun mot IP så du får ikke satt www som A record. Det får hvertfall ikke jeg gjort hos cloudflare Har 3 A-records, 1 mot www, 1 mot blank og 1 mot wildcard. Så trodde ikke det var bruk for CNAME, og ser ikke helt hvordan det skal løse det. Nginx viderefører jo IP-en til domenet smertefritt. Begynner å lure på om problemet ligger i GO-servern. Lenke til kommentar
xaco Skrevet 25. juni 2023 Del Skrevet 25. juni 2023 1 minute ago, strike_ said: Nei, A record peker kun mot IP så du får ikke satt www som A record. Det får hvertfall ikke jeg gjort hos cloudflare Ja, jeg vet at et A record er en ipv4 adresse. Og jo, du kan fint sette et subdomene sitt A record til å peke på en hvilken som helst ip adresse du vil. www er et subdomene på samme måre som sub1.example.com er et subdomene. At Cloudflare ikke lar deg gjøre det betyr ikke at resten av verden ikke lar deg det. Og her har har jo trådstarter satt A records for det subdomene. @mr_h4sh hva sier nginx loggene dine? 1 Lenke til kommentar
mr_h4sh Skrevet 25. juni 2023 Forfatter Del Skrevet 25. juni 2023 1 minute ago, xaco said: Ja, jeg vet at et A record er en ipv4 adresse. Og jo, du kan fint sette et subdomene sitt A record til å peke på en hvilken som helst ip adresse du vil. www er et subdomene på samme måre som sub1.example.com er et subdomene. At Cloudflare ikke lar deg gjøre det betyr ikke at resten av verden ikke lar deg det. Og her har har jo trådstarter satt A records for det subdomene. @mr_h4sh hva sier nginx loggene dine? 2023/06/25 01:59:15 [error] 3029#3029: *1 SSL_do_handshake() failed (SSL: error:1408F10B:SSL routines:ssl3_get_record:wrong version number) while SSL handshaking to upstream, client: xxx.xxx.xxx.xx, server: www.zzz.yyy, request: "GET / HTTP/1.1", upstream: "https://xxx.xxx.xxx.xx:8080/", host: "www.zzz.yyy" Lenke til kommentar
xaco Skrevet 25. juni 2023 Del Skrevet 25. juni 2023 Just now, mr_h4sh said: 2023/06/25 01:59:15 [error] 3029#3029: *1 SSL_do_handshake() failed (SSL: error:1408F10B:SSL routines:ssl3_get_record:wrong version number) while SSL handshaking to upstream, client: xxx.xxx.xxx.xx, server: www.zzz.yyy, request: "GET / HTTP/1.1", upstream: "https://xxx.xxx.xxx.xx:8080/", host: "www.zzz.yyy" Her klager jo nginx på ssl handshake feiler fordi du prøver å koble til med https mot den go serveren din. Kjør mot http og se hva loggene spytter ut da. 1 Lenke til kommentar
mr_h4sh Skrevet 25. juni 2023 Forfatter Del Skrevet 25. juni 2023 FIKK DET TIL! Bytta ut til ListenAndServeTLS og la til SSL-path. Nå funker det! Takk for hjelpa, folkens. Lenke til kommentar
strike_ Skrevet 25. juni 2023 Del Skrevet 25. juni 2023 11 minutes ago, xaco said: Ja, jeg vet at et A record er en ipv4 adresse. Og jo, du kan fint sette et subdomene sitt A record til å peke på en hvilken som helst ip adresse du vil. www er et subdomene på samme måre som sub1.example.com er et subdomene. At Cloudflare ikke lar deg gjøre det betyr ikke at resten av verden ikke lar deg det. Og her har har jo trådstarter satt A records for det subdomene. @mr_h4sh hva sier nginx loggene dine? Du mente sånn ja, men det er jo en dum måte å gjøre det på. Da må du jo drive å oppdatere IP hele tiden på alle subdomner. Riktig måte å gjøre det på et å ha ett A record som peker mot example.com så lager man CNAME for alle subdomener som peker mot example.com. Da er det kun 1 A record som trenger å oppdateres som man selfølgelig bruker en automatisk "dns updater" til. Om man skal drive å manuelt oppdatere alle A records blir jo det et rent helvete om man har mange. Lenke til kommentar
mr_h4sh Skrevet 25. juni 2023 Forfatter Del Skrevet 25. juni 2023 (endret) 45 minutes ago, strike_ said: Du mente sånn ja, men det er jo en dum måte å gjøre det på. Da må du jo drive å oppdatere IP hele tiden på alle subdomner. Riktig måte å gjøre det på et å ha ett A record som peker mot example.com så lager man CNAME for alle subdomener som peker mot example.com. Da er det kun 1 A record som trenger å oppdateres som man selfølgelig bruker en automatisk "dns updater" til. Om man skal drive å manuelt oppdatere alle A records blir jo det et rent helvete om man har mange. Kommer vel an på om man bruker vanlig DNS eller DNSSEC. Endret 25. juni 2023 av mr_h4sh Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå