如何使用Openshift将Nginx配置为Node.js Pod的代理服务器?

时间:2019-10-01 14:12:40

标签: nginx openshift openshift-3

我对将Nginx作为代理服务器运行很熟悉,但是我很难用openshift将它们放在一起。我有nodejs应用程序,想使用使用nginx作为代理服务器。这是我的nginx conf文件。我应该用服务代替server_name吗?还有其他方法可以在openshift中实现这一目标吗?

upstream myapp {
    server 127.0.0.1:8080;
    keepalive 8;
}

# the nginx server instance
server {
    listen 0.0.0.0:80;
    server_name x.x.x.x;
    access_log /var/log/nginx/my-app.com.log;

    location / {
      autoindex on;
      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://myapp/;
      proxy_redirect off;
    }
 }

1 个答案:

答案 0 :(得分:0)

您的猜测是正确的,您需要通过服务名称来引用它。如果服务不在默认名称空间中,则需要使用完全限定域名:

<svc-name>.<namespace>.svc.cluster.local

代替将此配置硬编码到容器中,正确的方法是将其作为配置映射应用到集群,并将其作为卷安装到nginx pod的指定路径中。