我对将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;
}
}
答案 0 :(得分:0)
您的猜测是正确的,您需要通过服务名称来引用它。如果服务不在默认名称空间中,则需要使用完全限定域名:
<svc-name>.<namespace>.svc.cluster.local
代替将此配置硬编码到容器中,正确的方法是将其作为配置映射应用到集群,并将其作为卷安装到nginx pod的指定路径中。