Nginx'i kerkenez için proxy sunucusu olarak ayarlayın (ASP.Net Çekirdeği)


0

Uygulamamı barındırmak için bir ASP.NET Çekirdek Ortamı kurmaya çalışıyorum ancak nginx web sunucusu ile ilgili sorun yaşıyorum. Etki alanıma bağlanmayı denediğimde anladım 502 Bad Gateway. Nginx sadece kerkenez için proxy sunucusu olarak çalışmalı.

İşte takip ettiğim rehbere bağlantı. Config hemen hemen microsoft tarafından önerilen config, sadece her ortam için farklı olan değişkenleri değiştirdim.

Sorunlu olan çizgi http://aspdotnethost;nginx.conf yapılandırmasının sonundadır. Yorum yaptığımda varsayılan www konumuna yönlendiriliyorum.

Peki, çizgi gerçekte nasıl çalışır ve düzgün bir şekilde localhost: 5000'e yönlendirmeyi nasıl yönetebilirim?

/etc/nginx/proxy.conf

proxy_redirect          off;
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;
client_max_body_size    10m;
client_body_buffer_size 128k;
proxy_connect_timeout   90;
proxy_send_timeout      90;
proxy_read_timeout      90;
proxy_buffers           32 4k;

/etc/nginx/nginx.conf

user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

include /usr/share/nginx/modules/*.conf;

events {
    worker_connections 1024;
}

http {
    include    /etc/nginx/proxy.conf;
    limit_req_zone $binary_remote_addr zone=one:10m rate=5r/s;
    server_tokens off;

    sendfile on;
    keepalive_timeout 29; # Adjust to the lowest possible value that makes sense for your use case.
    client_body_timeout 10; client_header_timeout 10; send_timeout 10;

    upstream aspdotnethost {
        server localhost:5000;
    }

    server {
        listen *:80;
        add_header Strict-Transport-Security max-age=15768000;
        return 301 https://$host$request_uri;
    }

    server {
        listen *:443    ssl;
        server_name     example.com *.example.com;

        #Redirects all traffic
        location / {
            proxy_pass  http://aspdotnethost;
            limit_req   zone=one burst=10;
        }
    }

}

Nginx yapılandırma kontrolü:

[root@rs-zap353479-1 patrick]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Ben yazarken curl http://localhost:5000o zaman html belge iade olsun. Yani bu bileşen gözlerimde finde olmalı.


curl 'http://aspdotnethost'CentOS sunucusunda çalışırsanız ne olur ?
Eugen Rieck

Name or service not knownÖyleyse ad veya hizmetin bilinmesi için ne yapmalıyım?

/etc/hostsASP sunucunuzun IP'sini ( aspdotnethostnginx konfigürasyonunuzda adlandırdığınız gibi) adıyla dahil etmek için düzenleyin
Eugen Rieck

Yanıtlar:


0

Eugen Rieck gibi yorum olarak yayınlanan bir takma ad eklemek zorunda kaldı /etc/hosts.

Ek adım olarak, proxy_temp_pathiçinde belirtmek zorundayım proxy.conf, bu yolu yarat ve altında çalışan nginx kullanıcısına (o halde nginx) boğdum .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.