我正在尝试为我的后端应用程序服务器设置一个反向代理来执行负载平衡,并防止其他端口暴露给客户端。 如果客户端未通过身份validation,则我的应用程序服务器将客户端从http:// localhost:80redirect到http:// localhost:7001 / authenticate以进行身份validation。 我已将Windows Server 2012 R2中的IISconfiguration为反向代理。 默认网站在http:80和https:443上侦听并安装了这些模块:AAR,Web Farm,External Cache,URL重写。 在testing期间,我观察到我能够将请求发送到http:// localhost:80,并且在请求的位置标题被更改为http:// localhost:7001 / authenticate时,请求被中止。 因为客户端只知道http:80或https:443,所以我如何重新路由http:// localhost:7001 / authenticate ?
我有nginx提供内部Django服务器的静态文件和代理请求。 这一切都工作正常,但我有一个视图返回302redirect回到引用页面,有效地做一个链接点击浏览器刷新。 当没有通过nginx服务,这是有效的,应用程序返回302位置标题设置为相同的页面,这是我想要的。 但是,当通过nginx服务时,它redirect回“/”。 看来不pipe我尝试什么,总是这样做。 我已经检查,Django收到请求引用标题,这是。 我已经尝试了proxy_redirect注释掉,设置为off和default和/ / 。 我不能使用后者,因为它剥离了我目前需要testing的端口号。 这是我的nginxconfiguration: upstream django { server unix:/run/waitress/django.sock; } server { listen 80 backlog=4096; server_name www.example.co.uk; charset utf-8; client_max_body_size 20M; root /var/www/static_public; location /media { sendfile on; sendfile_max_chunk 500k; tcp_nopush on; } location /static { sendfile on; sendfile_max_chunk 100k; tcp_nopush on; } # favicon redirect location ~ […]
如何做基于自定义HTTP头的条件proxy_pass 假设我有4个nginx引擎运行在我的专用networking中,让我们调用它:web1,web2,web3,web4。 我有一个主要的nginx服务器,坐在互联网和我的私人networking,让我们打电话:Main_Web 在与Main_web相同的主机上,我在端口5000上运行基于python的身份validation服务,让callit auth_backend.py。 作为authentication后端,这个auth_backend.py将返回401,如果用户是回教徒。 但是对于合法用户,它将返回到内部位置(/ afterauth)的redirect(302),并且还添加自定义HTTP标题, 即: X-HTTP-BACKEND = 'http://web4/thispage?var=2' /etc/nginx/conf.d/default server { listen 80; server_name localhost; #charset koi8-r; #access_log /var/log/nginx/host.access.log main; add_header X-Backend $http_x_backend; location / { proxy_pass http://127.0.0.1:5000 ; proxy_set_header Host $host; } location /afterauth/ { set $my_next_proxy $upstream_http_x_backend; proxy_pass http://$my_next_proxy ; } #error_page 404 /404.html; # redirect server error pages […]
使用Nginx反向代理时遇到了麻烦。 我有一个私人networking上提供以下网站的服务器: a.example.com:10.32.58.01(内部DNSparsing) b.other.com:10.32.58.01(内部DNSparsing) 我创build了一个Nginx反向代理,可以访问这两个网站。 这个反向代理有IP 52.00.00.01(假一个)。 公共DNSparsing是: a.example.com:52.00.00.01 b.other.com:52.00.00.01 Nginx服务器/ etc / hosts文件包含以下parsing: 10.32.58.01 a.example.com b.other.com 问题是我的两个域有不同的SSL证书,我想我的反向代理validationSSL证书。 这是我的Nginx反向代理configuration失败: server { listen 80; server_name a.example.com; server_name b.other.com; return 301 https://$host$request_uri; } server { listen 443 ssl http2; server_name a.example.com; ssl_session_cache shared:SSL:100m; ssl_session_timeout 180m; ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:!DSS'; ssl_session_tickets off; ssl_certificate ssl/chained.example.com.crt; ssl_certificate_key ssl/example.com.key; location / { proxy_pass […]
我一直在研究这一点,我仍然有麻烦搞清楚了。 我有一个运行HAProxy 1.7.4_2的pfSense 2.3.4_1盒子和一个在防火墙后面运行Nethserver 7.3的虚拟机(我最终希望在家里主持一个下一个云实例)。 我想要达到的是这样的: app1.example.com (WAN) –> HAProxy –> 192.168.xx/app1 (LAN) 其中本地地址192.168.xx是在子目录中运行(默认)应用程序的Nethserver VM。 我决定设置前端来处理app1.example.com,将VM作为后端(是最简单的方法吗?)。 无论如何,我不确定是否要在这种情况下执行http请求redirect或http请求重写。 无论哪种方式,我很难得到正确的。 我已经阅读了一些HAProxy文档,但它不是为我点击。 任何的意见都将会有帮助。 在那个笔记上,我宁愿玩HAProxy而不是在Nethserver虚拟机上设置一个Apache反向代理。 我已经有一些在HAProxy上反向代理的服务,但是它更简单,因为它们在其他后端的端口上运行。 干杯!
我已经使用Windows Server 2012 R2 Standard,IIS 8.5安装了IIS Web场,其扩展如下:Web Farm Framework v1.1外部cachingv1.0,URL Rewrite v2,ARR v3。 参考: https : //blogs.technet.microsoft.com/erezs_iis_blog/2013/11/27/installing-arr-manually-without-webpi/ URL重写规则包含在创buildIIS Web场时自动生成的“*”的规则映射。 我试图访问http:// localhost / some_random_name和请求是由本地IIS而不是我的IIS Web场处理,它会返回HTTP 404。 我打开了FailedRequestTracing日志logging,并没有捕获日志。 我认为这是因为本地IIS已经将请求作为HTTP 404处理,而不是路由到IIS Web场。 如何解决/debugging此问题?
我想在服务器上运行JupyterHub,并且可以访问http://jupyter.company.com。 目前可以通过http:// ip:8000访问。 如果我尝试使用Apache 2.4作为反向代理,则启用mod_proxy和包含以下内容的站点configuration: <VirtualHost ip:*> ServerName jupyter.company.com ProxyPass / http://ip:8000/ ProxyPassReverse / http://ip:8000/ ProxyRequests Off </VirtualHost> 访问jupyter.company.com时,出现500内部服务器错误。 这并不奇怪,因为我没有启用代理模式(哪一个?)或configurationJupyterHub与代理工作。 我无法find有关使用代理服务器的JupyterHub文档中的任何内容。 我怎样才能做这个工作?
我有一个haproxy服务器后面的rabbitMQ服务器。 所有的客户端通过HAproxy连接到RabbitMQ并使用TCP。 当rabbitMQ连接显示所有连接来自Haproxy服务器的相同ip时,挑战是什么。 我怎样才能让客户端IP通过HAproxy? 我尝试在haproxyconfiguration中使用透明,发送代理,send-proxy-v2选项进行绑定。 仍然我不能让客户端IP传递给RMQ服务器。 有什么想法吗?
我不知道为什么,但有时我在nginx中得到这个错误。 有谁知道什么会产生这个错误? 2017/10/25 15:00:34 [crit] 5908#3228: *20789 SSL_write() failed (SSL:) (10053: FormatMessage() error:(15105)) while sending to client, client: 90.200.200.200, server: my.domain.com, request: "GET /faces/production.xhtml HTTP/1.1", upstream: "https://127.0.0.1:443/faces/production.xhtml", host: "my.domain.com", referrer: "https://my.domain.com/faces/production.xhtml" 另一个例子: 2017/10/25 15:05:40 [crit] 5908#3228: *21344 SSL_write() failed (SSL:) (10053: FormatMessage() error:(15105)) while sending to client, client: 90.300.300.300, server: my.domain.com, request: "GET /faces/javax.faces.resource/fa/fontawesome-webfont.ttf?ln=primefaces&v=5.2 HTTP/1.1", […]
我的nginx根目录是/ usr / share / nginx / html / ,我的Node.js应用程序位于/ root / app / 。 但是反向代理在nginx根目录下search应用程序。 我使用了以下位置块。 location /t { rewrite ^/t/(.*) /$1 break; proxy_pass http://127.0.0.1:3000; } 并将应用程序configuration中的基本uri更改为 baseURI: '/t' 但是我得到一个空白页面, 但标题栏显示“ AppName ” 这里是nginx错误日志 2017/10/26 16:41:43 [error] 3585#0: *5 connect() failed (111: Connection refused) while connecting to upstream, client: 49.206.123.228, server: _, request: "GET […]