说明:启动EMR集群时,每个应用程序都configuration为公开其UI。 目标:使用不带端口号的友好URL通过Nginx访问UI 细节: 每个用户界面都在不同的端口上 基本authentication(htpass) 有些用户界面会将您redirect到EMR主机的private-dns-record(可以手动修复它们,需要Nginx来做) UI端口:8088,8890,8888,18080,50070 已经做了什么? A)按照这篇文章,我们可以访问Zeppelin B)我们试图修改这个configuration以允许更多的位置这背后的逻辑就是通过这样做,我们可以用'/ somename'来访问nginx,并且使用'upstream'redirect到EMR master的相关端口,但是很遗憾不行。 location /hadoop { proxy_pass hxxp://hadoop } C)我们尝试了重写规则,但一旦我们把 rewrite ^/hadoop(.*)$ /$1 permenant; 在/somename它实际上是: location / 问题:我们如何使用简单友好的URL(例如hxxp:// mynginx / hadoop)来访问UI? 例如: http://nginx/app应该redirect到http://upstream-server:8088
我在服务器上收到一个中间的“上游过早closures连接,而上游读取”错误。 错误只发生在从Amazon S3向服务器请求的数据上,而不在服务器自身的任何文件上。 我的设置如下: 1基于Nginx nginx版本的负载均衡器:nginx / 1.11.5(离开Ubuntu库) 它的configuration是: server { server_name example.com client_body_timeout 12s; client_header_timeout 12s; keepalive_timeout 15s; access_log off; proxy_connect_timeout 1000s; proxy_send_timeout 1000s; proxy_read_timeout 1000s; send_timeout 1000s; location / { set $ua $http_user_agent; if ($http_user_agent = "") { set $ua "Fixing-Empty-User-Agent"; } proxy_pass http://front_least; proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504; proxy_redirect […]
当请求到达代理/服务器时,根据请求者的IP,请求将被路由到特定的后端。 代理需要从中央键值存储获取目标后端IP,这是系统的一个要求。 我已经testing了nginx,但是proxy_pass需要是静态的,并且找不到实现这个目标的方法。 谢谢。
我试图使用nginx作为运行Tomcat的内部Web服务器的反向代理,该服务器托pipe着我们的ERP系统的前端。 它已经正常工作了:我可以完美地连接到nginx服务器(这是locking在我们的networking,不同的VLAN,防火墙等等等),然后反向代理到我的ERP服务器。 但是,我想要添加一个额外的保护层,要求用户在他们的计算机上有一个数字证书,以便他们可以访问第一个(nginx)服务器。 后端服务器不使用/不需要证书。 我已经通过这个教程http://nategood.com/client-side-certificate-authentication-in-ngi ,它允许我生成我的自签名证书和其他一切。 当在nginxconfiguration中使用ssl_verify_client可选时,我可以正常连接到我的后端服务器,但是不需要/不需要证书。 当我把它切换到ssl_verify_client时 ,所有的访问都被阻塞了 400 Bad Request No required SSL certificate was sent 无论使用哪种浏览器(Chrome,IE,Edge,Firefox)。 当然,我已经把所有的证书/链条放在我的客户端计算机上,但是在任何浏览器上都没有证书。 我错过了什么? 这里是我的完整的nginxconfiguration: server { listen 443; ssl on; server_name 103vportal; ssl_password_file /etc/nginx/certs/senha.txt; ssl_certificate /etc/nginx/certs/server.crt; ssl_certificate_key /etc/nginx/certs/server.key; ssl_client_certificate /etc/nginx/certs/ca.crt; ssl_verify_client on; location / { proxy_pass http://10.3.0.244:16030; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_read_timeout 300; […]
希望有人能帮助我,并提前感谢。 我已经使用ProxyPass和ProxyPassReverse从https://www.google.de/在Ubuntu服务器上设置了一个Apache Web服务器2.4,其服务器上的反向代理服务器(www.mypage.de)。 标题中的url始终位于www.mypage.de上,而我在google.de上。 一切都很好。 在我的网页www.mypage.de/privacy上使用www.google.de/privacy时,需要设置什么内容? 简而言之,当我在浏览器中键入www.mypage.de/privacy时,它应该链接到www.google.de/privacy,但不要更改标题中的URL。 ServerName mypage.de SSLEngine On SSLCertificateFile "/etc/apache2/ssl/crt" SSLCertificateKeyFile "/etc/apache2/ssl/key" ProxyRequests Off <Proxy *> Order deny,allow Allow from all </Proxy> SSLProxyEngine On ProxyPass / https://google.de/ ProxyPassReverse / https://google.de/
我已经创build了一个小小的pipe理面板,让业主改变网站的属性(原色,背景图片,一些内容等)的网站。 他们的变化存储在数据库中。 我想要的是有多个域指向这个站点,并为网站呈现正确的属性(样式和内容)的请求主机头。 我的想法是创build一个反向代理前端服务器使用NGINX与多个服务器块指向相同的应用程序服务器(托pipe在heroku上)。 应用程序服务器再次向数据库服务器发出请求。 然后,我会添加一个中间件到我的应用程序,检查请求主机头,并根据请求来自哪里查找数据库中的内容。 我的问题是: 这是一个“正常”的方式来解决我的问题? 我正在学习服务器设置和pipe理的过程中,所以我不知道这是一个好/稳定/可扩展的设置。 或者如果它能工作的话。 如果不是,我该怎么解决呢? 一个NGINX实例可以处理的服务器块的限制是多less? 非常感谢。
我有IIS重写URL作为Apache Tomcat的反向代理。 example.com/app/redirect到example.com:8080/app/。 端口80redirect到同一台服务器上的端口8080。 如果我去example.com/app/,它按预期工作。 但是,如果我去example.com/app(没有结尾的斜杠),它会导致404错误。 我匹配入站规则的模式是^app/(.*) 。 然后该操作重写为URL http://127.0.0.1:8080/app/{R:1} 。 任何build议如何让这个工作没有斜线后面?
我使用Nginx作为node.js服务器的反向代理,我有以下路由,它们以: – /api/… – /auth/… 如果我以隐身模式打开我的网站,并尝试提交一个表单,坚持使用路由'/api/user'我得到403禁止。 我很困惑,在我的本地机器与服务器运行vagrant和nginx我从来没有这样的问题。 在制作中,我也设法成功地在上述路线上提交了几次表单,但是从来没有进入隐身模式。 我只代理某些路由到nodejs像这样: location ~ ^/(api|user|auth|socket.io-client|sitemap.xml) { 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 $scheme; proxy_set_header Host $http_host; proxy_set_header X-NginX-Proxy true; proxy_set_header Upgrade $http_upgrade; proxy_ssl_session_reuse off; proxy_redirect off; proxy_set_header Connection 'upgrade'; proxy_cache_bypass $http_upgrade; proxy_http_version 1.1; proxy_pass_header X-CSRFToken; add_header X-Frame-Options SAMEORIGIN; sendfile off; proxy_pass http://nodejs_upstream; } 我检查了路由'/api/user'正被上面的块正确捕获,所以也许它涉及到nodejs服务器的权限,但我坚持在这一点上。 谢谢你的帮助。
我有一种情况,我需要在IIS后面设置GitLab。 GitLab实例在局域网内工作得很好,但试图通过IIS反向代理进行设置是行不通的。 无论我尝试什么,我都会得到502 / Bad Gateway。 任何想法如何解决这个问题?
我正在使用Apache 2.2来访问configuration为使用NTML的Microsoft Team Foundation Server 2015。 我为此configuration的configuration如下: ProxyPreserveHost On ProxyPass /tfs/ http://tfs2015.mdlp.es:8080/tfs/ ProxyPassReverse /tfs/ http://tfs2015.mdlp.es/tfs/ 显然这个configuration在只有一个用户的情况下工作得很好。 当第二个用户连接时,它以用户先前login的forms出现。 我想这是由于连接池apache维护在后端服务器上,并且它就像TFS,一旦这个keepalive连接上的用户被authentication,依靠第一个请求来了解用户。 至于阿帕奇将所有的请求转发到已经创build的池,这将混合用户会话在同一个保持连接。 在这一点上,我试图使用ProxyPass上的disablereuse = On指令,以避免使用连接池,但这种方式NTLM身份validation不起作用。 只是想知道是否有人能够解决这个问题,这可能与Team Foundation无关,而与IIS无关。 编辑: 至于我有一个Apache 2.0安装在相同的反向代理我试图configuration他们以同样的方式,它工作正常。 所以有一种方法可以限制apache 2.2上的proxypassfunction,像apache 2.0一样行事?