egg项目部署

部署egg项目需要反向代理配置:

location / {
      proxy_pass  http://127.0.0.1:7001;
      proxy_redirect              off;
      proxy_buffer_size 64k;
      proxy_buffers   32 32k;
      proxy_busy_buffers_size 128k;
      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;
    }

对于静态资源也需要反向代理的,否则访问不到:

location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$
    {
        expires      30d;
        error_log off;
        access_log /dev/null;
        proxy_set_header        Host $host;
        proxy_pass http://127.0.0.1:7001;
    }
    
    location ~ .*.(js|css)?$
    {
        expires      12h;
        error_log off;
        access_log /dev/null; 
        proxy_set_header        Host $host;
        proxy_pass http://127.0.0.1:7001;
    }


    // 新增
       proxy_set_header        Host $host;
       proxy_pass http://127.0.0.1:7001;

egg获取客户端真实IP:

在生产环境服务器上,Eggjs一般都需要做反向代理,这时候 ctx.request.ip 的值就是 Nginx 所在的 IP,往往就是本地地址 127.0.0.1,
所以需要以下配置:

开启前置代理模式
通过 config.proxy = true,可以打开前置代理模式:

// config/config.default.js
config.proxy = true;

Nginx 反向代理配置
在 Nginx 反向代理配置 proxy_pass 的部分添加这样一行。

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
//proxy_pass http://127.0.0.1:7001;
原文地址:https://www.cnblogs.com/justsus/p/14001962.html