Articles of 反向代理

Nginx proxy_set_header用于RPCpipe理的主机

我们正在试验一种RPC服务( linkerd ),它充当我们的微服务之间的粘合剂 – 从本地Consul集群中读取它们的位置。现在,Linkerd希望在传入的请求上看到Host标头,以确定要打哪个服务。 在我们的拓扑结构中,我们有nginx作为边缘运行,然后应该代理到Linkerd,并根据path设置Host头。 所以我们testing的一个简单的configuration看起来像这样; location /api/v1/services/service-x { proxy_set_header Host service-x; proxy_pass http://linkerd:4140; } 这不是什么幻想。 它匹配service-xpath的path,然后尝试proxy_pass这些请求与linkerd所设置的服务名称链接。 我们所看到的是Host头永远不会被设置。 如果我curl -H "Host: service-x" linkerd:4140/some/x/path通过Linkerd访问该服务。 我们应该如何使用nginx为上游设置标题? 还是我在做一些愚蠢的事情? 谢谢!

反向代理CouchDB Web前端(Futon),而不暴露CouchDB API

是否有可能只是反向代理被褥,而不暴露CouchDB的根和RESTful API? 我有以下的nginxconfiguration: server { # This should never be hit, as the port isn't open, # but it's here for completeness sake listen 80; return 301 https://$host$request_uri; } server { listen 443; server_name my_futon_host; ssl_certificate /path/to/my/certificate.pem; ssl_certificate_key /path/to/my/private.key; ssl on; ssl_session_cache builtin:1000 shared:SSL:10m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4; ssl_prefer_server_ciphers on; location / { […]

Nginxselect一个随机的位置块

我想根据path将请求redirect到不同的服务器,因此我在Nginxconfiguration中使用了以下http块: http { include /etc/nginx/mime.types; default_type application/octet-stream; index index.html index.htm; server { access_log /var/log/nginx/staging.access.log main buffer=32k; error_log /var/log/nginx/staging.error.log error; listen 80; root /dev/null; location / { proxy_pass http://core:80; # returns "Core Service" } location /page/ { rewrite ^/page(/.*)$ $1 break; proxy_pass http://page:80; # returns "Page Service" } location /auth/ { rewrite ^/auth(/.*)$ $1 break; proxy_pass […]

Apache 2.4反向代理SSL问题

我正在尝试使用Apache创build以下设置: UserBrowser —-Client Certificate—> LoadBalancer (Apache 2.4) then LoadBalancer (Apache 2.4) —-LB Client Certificate —-> Apache 2.2 Web Server 所以用户连接到负载均衡器,并提供一个客户端证书 – 这工作正常。 反向代理然后使负载均衡器连接到Web服务器,Web服务器从负载均衡器请求证书,我得到以下错误: Proxy client certificate callback: (0.0.0.0:443) entered Proxy client certificate callback: (0.0.0.0:443) downstream server wanted client certificate but none are configured [remote 0.0.0.1:443] SSL Proxy connect failed [ssl:info] SSL Library Error: error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 […]

如何代理Nginx背后的SaltStack

默认情况下,Saltstack在安装时使用端口4505和4506来连接Minions。 但是我无法打开Salt主服务器上的端口4505和4506。 有没有什么办法可以configurationNginx背后的Salt master,并且有通过Nginx连接master的爪牙。 非常感谢。

nginx反向代理不能访问某些网站

我已经安装了nginx作为我的专用networking中的反向代理。 一切工作正常,除了一些网站,如: www.dhl.com(在控制台中找不到错误404) www.bbc.com(它将保持循环)。 conf是如下: server { server_name ~^(www\.)?(?<domain>.+)$; access_log /var/log/nginx/proxy.access.log main; error_log /var/log/nginx/proxy.error.log crit; listen 192.168.98.254:8081; resolver 8.8.8.8; location / { proxy_set_header Accept-Encoding ""; proxy_pass http://$domain; proxy_redirect off; proxy_set_header Host $host; # Optional headers proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } 请任何机构知道如何解决这种types的网站? 谢谢, Areeb

Nginx的鳄梨酱,但没有工作与代理的外部局域网

我在Ubuntu 16.04上使用Nginx将Guacamole作为RDP无客户端使用。这在我的计算机上完美地工作在外部局域网中。 但不能在另一个阻塞端口的外部局域网中工作。 只有端口80和443可以使用。 当我从我的浏览器去应用程序: http:// myserverguaca / guacamole我可以看到login页面并login。 但是,当我尝试启动RDP有一个加载,然后一条消息,说“服务器花了很多时间来回应” 你认为我必须转发另一个端口吗? 因为我已经将端口8080转发到80,RDP使用:3389,但是这是在本地主机,不知道为什么我也应该转发这一点。 我希望你能帮助我。 有我的RDP访问configuration(user-mapping.xml) <user-mapping> <connection name="rdp"> <protocol>rdp</protocol> <param name="hostname">localhost</param> <param name="port">3389</param> <param name="server-layout">fr-fr-azerty</param> <param name="ignore-cert">true</param> </connection> </user-mapping> 和我的configurationnginx(网站启用/鳄梨)` server { listen 80; server_name vpsmyserver.net.com; location /guacamole/ { proxy_pass http://localhost:8080/guacamole/; proxy_buffering off; proxy_http_version 1.1; proxy_set_header X_Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $http_connection; access_log off; […]

防止Squid在特定path上caching

我在/etc/squid/squid.conf中使用这个规则 acl DenyApp urlpath_regex /app/path1/path2 no_cache deny DenyApp 这工作很好。 然而,我想要发生的是Squid仍然caching/应用程序/path1 /path2 / JS,/应用程序/path1 /path2 /图像和/应用程序/path1 /path2 /字体等

configurationnginx为反向代理http uri – >私人个人服务器

我有一个服务器,没有域设置。 我通过端口80上的IP访问它。我有IIS上的端口8080,8081,8082三个网站。我只想当有人进入SERVER_IP / foo1,nginx显示内容从192.168.1.100:8080 SERVER_IP / foo2 – > 192.168.1.100:8081 SERVER_IP / foo3 – > 192.168.1.100:8082 这些私人服务器是复杂的Web应用程序,并具有身份validation,其他网页等我感谢任何帮助。 我目前的configuration是放 location /foo1/ { if ($request_uri ~* "/foo1/(.*)") { proxy_pass http://192.168.1.100:8080/$1; } 在nginx的默认服务器块中,显然这是行不通的。

针对HTTPS / SSL的nginx反向代理:如何传递证书?

我正在尝试将具有多个Web服务器的旧基础架构转换为具有单个公用IP地址的虚拟化环境。 所有的服务器stream量都比较低,所以性能不是问题。 我目前有nginx直接安装在我的防火墙/堡垒主机反向代理几个服务器(目前三个)。 我有一切工作与普通的HTTP。 我目前的HTTPconfiguration是(简化): http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80; server_name mydom.com www.mydom.com; location / { proxy_pass http://192.168.99.20:80; proxy_set_header Host $host; 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; } } server { listen 80; server_name redmine.mydom.com git.mydom.com; location / { proxy_pass http://192.168.99.30:80; proxy_set_header Host […]