Puncte:0

Cum se face canonizarea IP cu Nginx și Certbot

drapel cn

Am mai multe servicii care rulează pe serverul meu, care vor fi accesate prin nginx și criptate de certbot. Dacă vreau să-mi accesez serviciul cu mine http://example.com, sunt redirecționat către http(s)://example.com, ceea ce e grozav.

Cu toate acestea, dacă tastez în my Adresa IP: Port Nu voi fi redirecționat către domeniul meu. Acesta este fișierul meu abc.com în /etc/nginx/sites-enabled

Server {
nume_server abc.com; #exemplu: mysite.xyz
#access_log /var/log/nginx/<servicename>.access.log;
#error_log /var/log/nginx/<servicename>.error.log;

Locație / {
        proxy_pass http://127.0.0.1:9000; # aici definiți adresa, care este folosită de nginx pentru a vă accesa serviciul
        proxy_http_versiunea 1.1;
        proxy_cache_bypass $http_upgrade;
        proxy_set_header Actualizare $http_upgrade;
        proxy_set_header Conexiune „upgrade”;
        proxy_set_header Gazdă $gazdă;
        proxy_set_header X-Real-IP $adresă_la distanță;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $schema;
        proxy_set_header X-Forwarded-Host $gazdă;
        proxy_set_header X-Forwarded-Port $server_port;
} # acesta este portul pe care îl utilizați pentru a accesa serviciul proxy

    asculta 443 ssl; # gestionat de Certbot
    ssl_certificate /etc/letsencrypt/live/abc.com/fullchain.pem; # gestionat de Certbot
    ssl_certificate_key /etc/letsencrypt/live/abc.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ă = abc.com) {
        returnează 301 https://$host$request_uri;
    } # gestionat de Certbot

nume_server abc.com;

asculta 80;
    întoarce 404; # gestionat de Certbot

}

Poate cineva să-mi spună sau să-mi îndrume într-o direcție ce trebuie să schimb în fișierul meu abc.com pentru a redirecționa și cererile prin Adresa IP: Port la https://example.com

Sunt recunoscător pentru orice ajutor!

Editați | ×: Mi-am făcut serviciile accesibile prin localhost, ceea ce mi-a rezolvat problema. Vă mulțumim tuturor pentru contribuțiile voastre!

Michael Hampton avatar
drapel cz
Nu încerca să faci asta. Solicitările către adresa dvs. IP ca gazdă HTTP ar trebui ignorate, nu redirecționate. Practic, toate sunt rău intenționate. Configurația implicită oferă o eroare 403 la astfel de solicitări, iar aceasta ar trebui lăsată în loc.
sergeantSalty avatar
drapel cn
Ignorarea ar fi într-adevăr cea mai bună opțiune. Cu toate acestea, implicit, nu ignor astfel de solicitări. Dacă îmi introduc adresa ip:port am acces la serviciile mele. Ce pot face mai exact pentru a ignora astfel de cereri? Vă mulțumim pentru contribuție!
Michael Hampton avatar
drapel cz
Repuneți blocul implicit „server” care a venit cu pachetul de distribuție nginx.
sergeantSalty avatar
drapel cn
Oh, trebuie să te înțeleg greșit, de fapt nu am șters blocul implicit de server care a venit cu nginx.
Puncte:0
drapel za

Schimbare una dintre ultimele rânduri la

asculta 80 implicit;
drapel sv
Deoarece OP a folosit o declarație if pentru a redirecționa pe baza gazdă, soluția de mai sus nu ar funcționa pentru cazul de utilizare specific. Deci, soluția de mai sus ar avea ca rezultat 404.
sergeantSalty avatar
drapel cn
Pothi are dreptate, nu merge așa, dar mulțumesc oricum.
Puncte:0
drapel sv

Bun venit la ServerFault.

Poate cineva să-mi spună sau să-mi îndrume într-o direcție ce trebuie să schimb în fișierul meu abc.com pentru a redirecționa și cererile prin Adresa IP: Port către https://example.com

Nu trebuie să editați fișierul existent care poate fi modificat de Certbot în viitor.

În schimb, în /etc/nginx/sites-enabled, creați un alt fișier (de exemplu, cu numele ip.conf), cu următorul conținut...

Server {
    asculta 80;
    nume_server 127.0.0.1;
    returnează 301 https://example.com$request_uri;
}

În codul de mai sus, vă rugăm să înlocuiți 127.0.0.1 cu adresa IP reală a serverului dvs. și apoi înlocuiți exemplu.com de asemenea.

sergeantSalty avatar
drapel cn
Salut si multumesc pentru ajutor. Am încercat abordarea ta, dar din păcate nu funcționează. Încă sunt direcționat către serviciul meu nesecurizat. :/

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.