简体   繁体   中英

Nginx reverse proxy not working on domain name

I have tried all the solution on SO but no success. I want to use Nginx as a "Node.js" app reverse proxy. With my current configurations, I was able to make it work when connecting to it through the server IP but not when using its domain name.My configuration details pastebin.com/gMqpmDwj

http://Ipaddress:3000 works but http://example.com doesn't.

Here is the configuration of my Nginx proxy, stored in /etc/Nginx/conf.d/domain.conf .

server {
    listen 80;
    server_name domain_name;

    location / {
        proxy_set_header   X-Forwarded-For $remote_addr;
        proxy_set_header   Host $http_host;
        proxy_pass         http://ipaddress:3000;
    }
}

But when I try to access it works fine on ip:port but when on domain:port or without port it doesn't

Try this configuration:

/etc/nginx/nginx.conf

user                nobody;
worker_processes    1;
pid                 /var/run/nginx.pid;

events {
    worker_connections  1024;
    multi_accept on;
}

http {
    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    keepalive_timeout 15;
    types_hash_max_size 2048;
    client_max_body_size 8M;
    server_tokens off;

    include /etc/nginx/mime.types;
    default_type application/octet-stream;

    access_log off;
    error_log /var/log/nginx/error.log crit;

    gzip on;
    gzip_min_length 100;
    gzip_http_version 1.1;
    gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

    include /etc/nginx/cloudflare.inc;
    include /etc/nginx/conf.d/*.conf;
}

/etc/nginx/conf.d/domain.conf

upstream nodejs_app {
    server <ipaddress>:3000;
    keepalive 8;
}

server {
    listen 80;
    listen [::]:80;
    server_name <domain_name>;

    location / {
        # websocket support
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";

        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_set_header X-NginX-Proxy true;

        proxy_pass http://nodejs_app/;
        proxy_redirect off;
    }
}

I solved my issue after following this link.I had multiple configuration files active that was causing problem. How to Configure Nginx Reverse Proxy for Nodejs on Centos

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM