3

我有以下 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(mailcatcher 在1080端口上运行)

由于我在 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)
4

1 回答 1

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";
}
于 2015-02-02T22:34:06.120 回答