无法使用nginx进行proxy_pass mailcather

时间:2014-11-02 09:14:04

标签: nginx mailcatcher

我关注nginx conf

upstream domain1 {
  server 127.0.0.1:3000;
  server 127.0.0.1:3001;
}




server {
  listen   80;
  server_name demo.domain.com;

  root   /var/apps/myapp/public;

  location / {
                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_redirect off;

                if (-f $request_filename/index.html) {
                                 rewrite (.*) $1/index.html break;
                }

                if (-f $request_filename.html) {
                                 rewrite (.*) $1.html break;
                }

                if (!-f $request_filename) {
                                 proxy_pass http://domain1;
                                 break;
                }
  }

 location /mail_us1 {
                proxy_pass       http://127.0.0.1:1080;
                proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header Host $http_host;
 }


}

我试图在我的服务器上设置mailcatcher(在1080端口运行的mailcatcher)

由于我在nginx方面的经验有限,我假设以下指令运作良好

 location /mail_us1 {
                    proxy_pass       http://127.0.0.1:1080;
                    proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
                    proxy_set_header Host $http_host;
     }

但不幸的是,我无法获得所需的输出,而且我一直在nginx页面上登陆

No Dice

The message you were looking for does not exist, or doesn't have content of this type.

任何人都可以告诉我我做错了什么

注意:

- curl http://localhost:1080 (work )

- iptables -L (is empty)

1 个答案:

答案 0 :(得分:3)

这对我有用:

location /mailcatcher {
  rewrite /mailcatcher/(.*) /$1 break;
  proxy_pass http://mailcatcher/;
}

location ~ ^/assets {
  proxy_pass http://mailcatcher;
}

location ~ ^/messages {
  proxy_pass http://mailcatcher;
  proxy_http_version 1.1;
  proxy_set_header Upgrade $http_upgrade;
  proxy_set_header Connection "upgrade";
}