Join us for a virtual Nutanix User Group meeting with Jarian Gibson as he covers Nutanix Cloud Clusters (NC2) on Azure and AWS with Citrix. <\/span><\/p>

Jarian will take a deep dive into NC2 on Azure architecture and Citrix on NC2 on Azure\u00a0that helps you strengthen your business continuity and disaster recovery position. He\u2019ll also provide the latest updates for NC2 on AWS.<\/span><\/p>

Plus, we're\u00a0giving away a Nutanix suitcase to one lucky winner!\u00a0Opt-in when you register\u00a0to be entered to win.\u00a0<\/p>","author":{"id":113632,"url":"\/members\/karlie-beil-113632","name":"Karlie Beil","avatar":"https:\/\/uploads-us-west-2.insided.com\/nutanix-us\/icon\/200x200\/1581aab3-bcf6-49f4-b2fb-3d11e8c010dc.png","userTitle":"Community Manager","rank":{"isBold":false,"isItalic":false,"isUnderline":false,"name":"Community Manager","color":"#0873ba"},"userLevel":4},"type":"Webinar","url":"https:\/\/next.nutanix.com\/events\/global-nug-nc2-on-azure-and-aws-with-citrix-151","image":"https:\/\/uploads-us-west-2.insided.com\/nutanix-us\/attachment\/f9693b5b-436b-427a-9b98-531b4040ff24_thumb.png","location":"","startsAt":1678298400,"endsAt":1678302000,"contentType":"event","attendees":[],"attendeeCount":0,"isLoggedInUserAttendee":false,"createdAt":"1675974969"},"phrases":{"Forum":{"{n} year|{n} years":"{n} year|{n} years","{n} month|{n} months":"{n} month|{n} months","{n} day|{n} days":"{n} day|{n} days","{n} hour|{n} hours":"{n} hour|{n} hours","{n} minute|{n} minutes":"{n} minute|{n} minutes","just":"just now","{plural} ago":"{plural} ago"}}}">

nginx作为棱镜的反向代理


徽章 +2
棱镜使用的JSessionId cookie尚未设置。尝试使用可用选项。有人成功地做到了吗?

该主题已关闭以供评论

13个答复

UserLevel 6
徽章 +29
我很好奇,您想在需要使用此配置的情况下做什么?
徽章 +2
在这里,我们没有很多公共知识产权。因此,我们将所有域都指向一个VM,在该VM上,我们将反向代理(重定向请求)设置为仅具有内部IP的另一个VM。



我也有一个注册的棱镜控制台的域,因此我们也可以访问域而不是IP,也可以访问外部外部网络,但是我遵循的其他网站的配置也不适用于Prism。



下面附加样品配置



服务器 {

听80;

server_name xpemens.com

地点 / {

proxy_set_header主机example.com;

PROXY_SET_HEADER X-REAL -IP $ remote_addr;

proxy_set_header x-forwarded proto http;

proxy_set_header x-forwarded-for $ remote_addr;

proxy_set_header x-forwarded-host $ remote_addr;

proxy_passhttps://172.x.x.x.x:9440/;

#proxy_connect_timeout 240;

#proxy_send_timeout 240;

#proxy_read_timeout 240;

///添加了此代码以设置cookie,但没有工作

if($ http_cookie〜*“ jsessionid =([^;]+)(?; | $)”)

设置$ co“ jsessionid = $ 1”;

}

proxy_set_header cookie“ $ co”;

///代码结束

}

}
UserLevel 6
徽章 +29
可以说您正在尝试使用公共IP从互联网访问棱镜?
徽章 +2
是的
徽章 +2
嗨,拉维,



cookie未被设置为您遇到的主要问题吗?您能描述详细信息吗?浏览器带有DEV控制台的屏幕截图也将很有帮助。



谢谢,

- 射线
徽章 +1
乍一看,值得尝试的两件事:

1)将Proxy_Pass指令移至该部分的末尾(set_cookie部分之后)

2)与您正在查看的cookie方法,可以查看以下参数proxy_cookie_domain:

http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_cookie_domain
徽章 +2
对延迟回应表示歉意



我已经尝试了建议的步骤,但问题仍然存在
徽章 +2
对延迟回应表示歉意。



我认为饼干是问题所在。

查找设置配置时要提出的网络请求的图像

徽章
拉维,我很感激这已经解决了将近一年,所以我假设您已经找到了答案。以防万一,为了Docutsaiton,这是两个指针。全面披露:我为Nginx工作,并且刚刚开始挖掘Nutanix平台,所以YMMV。1)要使用NGINX设置新的cookie,您需要使用“ add_header set-cookie”指令而不是'proxy_set_header'。使用您示例的格式将是“ add_header set-cookie jsessionid = $ co;'(请注意,在这种情况下,您需要从$ CO集中删除“ JSessionId”)。2)Nginx Plus是NGINX的商业版本,支持可以从应用程序中读取和学习JSessionID的其他负载平衡方法。对于Nutanix来说,我不确定这是您要寻找的东西,但是仅基于您正在寻找JSessionId的语句,我认为这是同一用例。您可以在nginx.org上找到有关JSessionId学习的文档。希望在这几个月之后有所帮助。 ravismula wrote:Here we don't have many public IP's. So we point all the domains to one VM, on which we setup a reverse proxy (redirect request) to another VM which has only an internal IP.



我也有一个注册的棱镜控制台的域,因此我们也可以访问域而不是IP,也可以访问外部外部网络,但是我遵循的其他网站的配置也不适用于Prism。



下面附加样品配置



服务器 {

听80;

server_name xpemens.com

地点 / {

proxy_set_header主机example.com;

PROXY_SET_HEADER X-REAL -IP $ remote_addr;

proxy_set_header x-forwarded proto http;

proxy_set_header x-forwarded-for $ remote_addr;

proxy_set_header x-forwarded-host $ remote_addr;

proxy_passhttps://172.x.x.x.x:9440/;

#proxy_connect_timeout 240;

#proxy_send_timeout 240;

#proxy_read_timeout 240;

///添加了此代码以设置cookie,但没有工作

if($ http_cookie〜*“ jsessionid =([^;]+)(?; | $)”)

设置$ co“ jsessionid = $ 1”;

}

proxy_set_header cookie“ $ co”;

///代码结束

}

}





UserLevel 2
徽章 +2

@Jon您对PC前反向代理的好奇心的一种可能答案是提供自助服务的更好的UX。例如,我们正在使用Prism中央自助服务为开发人员提供VM。我们不想给他们一个带有9440端口的URL,我们想发布一些常见问题解答。我们试图用NGINX逆转代理PC,但是我们遇到了问题(基于路径的反向代理和NGINX缓存)。因此,我们最终获得了带有PC和常见问题的链接的着陆页。

(1)反向代理PC的这种预期行为是吗?有人有工作吗?

(2)PC可以配置为在443上收听吗?我检查的最后一个,答案是“否”。

UserLevel 6
徽章 +29

1-我怀疑有人在这里内部实际尝试过,所以我不知道反向代理是否良好或不脱离手机

2-不,Prism(Element和Central)在9440上发表,作为静态事物。我认为一个足够狡猾的人可以侵入它,但是它可能以奇妙的方式炸毁,因为这不是我们支持的/QA(更改棱镜端口)

UserLevel 2
徽章 +2

@Jon谢谢你回来。因此,我尝试了对PC进行反向代理,并且在使用NGINX缓存,基于路径的反向代理和Web插座的初始打ic之后,我终于与以下配置一起使用:

地点 / {
proxy_pass https:// cloudConsole;
proxy_intercept_errors on;
proxy_set_header主机$主机;
PROXY_SET_HEADER X-REAL -IP $ remote_addr;
proxy_set_header x-forwarded-for $ proxy_add_x_forwarded_for;
proxy_set_header x-forwarded proto $方案;
proxy_http_version 1.1;
proxy_set_header升级$ http_upgrade;
proxy_set_header连接“升级”;
}

CloudConsole是指上游PC URL。

通过反向代理访问PC时,没有发现任何损坏的东西。

UserLevel 6
徽章 +29

酷,做得好!

Learn more about our cookies.<\/a>","cookiepolicy.button":"Accept cookies","cookiepolicy.button.deny":"Deny all","cookiepolicy.link":"Cookie settings","cookiepolicy.modal.title":"Cookie settings","cookiepolicy.modal.content":"We use 3 different kinds of cookies. You can choose which cookies you want to accept. We need basic cookies to make this site work, therefore these are the minimum you can select. Learn more about our cookies.<\/a>","cookiepolicy.modal.level1":"Basic
Functional","cookiepolicy.modal.level2":"Normal
Functional + analytics","cookiepolicy.modal.level3":"Complete
Functional + analytics + social media + embedded videos"}}}">
Baidu