设置nginx来反向代理heroku网站

时间:2018-08-10 10:16:53

标签: nginx heroku

我在heroku上托管了两个应用程序。第一个基于Go,第二个基于reactjsnodejsnginx

我使用nginxnode_react.herokuapp.com的应用程序请求代理到gosite.herokuapp.com。问题是我无法通过nginx与gosite通信。

我的nginx.conf.erb文件看起来像这样。

daemon off;

worker_processes <%= ENV['NGINX_WORKERS'] || 4 %>;

events {
    use epoll;
    accept_mutex on;
    worker_connections 1024;
}

http {

    server {
        listen <%= ENV["PORT"] %>;
        server_name _;

        access_log  access.log;
        error_log   error.log;


        location / {
            proxy_pass         http://127.0.0.1:8080;
            proxy_set_header   Host             $host;
            proxy_set_header   X-Real-IP        $remote_addr;
            proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
        }

        location /api {
            proxy_pass         http://gosite.herokuapp.com;
            proxy_set_header   Host             $host;
            proxy_set_header   X-Real-IP        $remote_addr;
            proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
        }



        location ~ .*\.(gif|jpg|jpeg|txt|js|css|svg|woff|apk|jar|zip)$
        {
            proxy_pass  http://127.0.0.1:8080;
            proxy_set_header   Host             $host;
            proxy_set_header   X-Real-IP        $remote_addr;
            proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
        }

        location ~ .*(__webpack_hmr)$
        {
            proxy_pass  http://127.0.0.1:8080;
            proxy_set_header   Host             $host;
            proxy_set_header   X-Real-IP        $remote_addr;
            proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
        }
    }
}

在浏览器的网络预览中我什么也看不到。

在nodejs在没有nginx代理的情况下进行api调用时,我遇到了类似的问题,但是我通过将主机标头设置为request(url,{header:{'host':'gosite.herokuapp.com'}})来解决了这个问题,现在我在使用nginx时遇到了问题。

0 个答案:

没有答案