Puncte:0

Subdomeniu wildcard Nginx

drapel cn

Mi-am configurat fișierul de configurare nginx ca:

Server {
   server_name example.com www.example.com;
   asculta 80;
   
   locație = / {
     .....
  }
}

Server {
  nume_server *.example.com;
  asculta 80;
  locație = / {
      proxy_pass...
  }
}

navigând prin example.com și www.example.com este bine, dar când folosesc un subdomeniu precum a.example.com sau b.example.com primesc un mesaj de genul „301 mutat permanent” și sunt redirecționat înapoi la example.com

Aici este fișierul real;

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;
     client_max_body_size 50M;
    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/*;
}


#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.old:
ssl_certificate /etc/letsencrypt/live/billspree.work/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/billspree.work/privkey.pem;


Server {
        asculta 80;
        asculta [::]:80;
        root /var/www/html/billspree.work;
        index index.php index.html index.htm index.nginx-debian.html testing.html;
        nume_server billspree.work www.billspree.work;

        locație = / {
                try_files $uri $uri/ /index.php?args;
        }

        locație ~ \.php$ {
                include snippets/fastcgi-php.conf;
                fastcgi_pass unix:/run/php/php7.4-fpm.sock;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        }


        locație ^~ /chiriaș {
                proxy_pass http://localhost:9003;
               # 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;
        }


        locație ^~ /chiriaș/portal {
                proxy_pass http://localhost:7172/prod/tenant/portal;
                # 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;
        }


        #deny 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/billspree.work/fullchain.pem; # gestionat de Certbot
   # ssl_certificate_key /etc/letsencrypt/live/billspree.work/privkey.pem; # gestionat de Certbot
   # include /etc/letsencrypt/options-ssl-nginx.conf; # gestionat de Certbot
   # ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # gestionat de Certbot
# return 301 https://www.billspree.com$request_uri;  


}

Server {
    asculta [::]:80 ssl ipv6only=on;
    asculta 80 ssl;
    nume_server *.billspree.work;

    locație = /portal {
        proxy_pass http://localhost:7172/portal;
    }
}

# testează configurația serverului cu portul 1027
Server {

    nume_server *.billspree.work;
    asculta [::]:1027 ssl ipv6only=on; # gestionat de Certbot
    asculta 1027 ssl; # gestionat de Certbot

    ssl_certificate /etc/letsencrypt/live/billspree.work/fullchain.pem; # $
    ssl_certificate_key /etc/letsencrypt/live/billspree.work/privkey.pem;
 # include /etc/letsencrypt/options-ssl-nginx.conf; # gestionat de Certbot
  # ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # gestionat de Certbot

locație ^~ / {
        proxy_pass http://localhost:9001;
        proxy_http_versiunea 1.1;
        proxy_set_header Actualizare $http_upgrade;
        proxy_set_header Conexiune „upgrade”;
        proxy_set_header Gazdă $gazdă;
        proxy_cache_bypass $http_upgrade;
    }
}

#Server {
# dacă ($gazdă = billspree.work) {
# return 301 https://www.$host$request_uri;
# } # gestionat de Certbot
# dacă ($gazdă = www.billspree.work) {
# return 301 https://$host$request_uri;
# } # gestionat de Certbot

# server_name www.billspree.work billspree.work#
# asculta [::]:80 ipv6only=on;
# asculta 80;
#}

# fișier de configurare /etc/nginx/snippets/fastcgi-php.conf:
# regex pentru a împărți $uri în $fastcgi_script_name și $fastcgi_path
fastcgi_split_path_info ^(.+?\.php)(/.*)$;

# Verificați dacă scriptul PHP există înainte de a-l transmite
try_files $fastcgi_script_name =404;

# Ocoliți faptul că try_files resetează $fastcgi_path_info
# vezi: http://trac.nginx.org/nginx/ticket/321
setați $path_info $fastcgi_path_info;
fastcgi_param PATH_INFO $path_info;

fastcgi_index index.php;
include fastcgi.conf;

# fișier de configurare /etc/nginx/fastcgi.conf:

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param QUERY_STRING $șir_interogare;
fastcgi_param REQUEST_METHOD $cerere_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;

fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param REQUEST_SCHEME $schemă;
fastcgi_param HTTPS $https dacă_nu_vide;

fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;

fastcgi_param REMOTE_ADDR $adresă_la distanță;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $adresa_server;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;

# Numai PHP, necesar dacă PHP a fost construit cu --enable-force-cgi-redirect
fastcgi_param REDIRECT_STATUS 200;

drapel jp
Afișați configurația completă cu `nginx -T`. De asemenea, asigurați-vă că înregistrările DNS „a.example.com” și „b.example.com” indică către același server ca „example.com” și „www.example.com”.
Al Malik Umair avatar
drapel cn
De fapt, nici un subdomeniu nu funcționează în cazul meu, nici măcar www.example.com, doar example.com este funcțional
drapel in
Nu există nicio redirecționare configurată în configurația dvs. nginx. Cel mai probabil, redirecționarea vine de la serverul tău backend.
Al Malik Umair avatar
drapel cn
Despre ce server backend vorbim aici?
drapel in
Indiferent de ce îți procurezi cererile.
Puncte:1
drapel us

Configurația pentru *.billspree.muncă este incorect.

asculta 80 ssl;

înseamnă că nginx este configurat să folosească TLS pe ​​portul 80, care nu este o configurație validă.

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.