Articles of 代理

NGINX反向代理不加载资源

我试图把一个反向代理放在一些内部Web服务之前。 Nginx的设置和正常工作来服务请求。 如果我只提供一个location /在我的conf文件中,它会成功加载该proxy_pass目标,即: location / { proxy_pass https://internal.ip:port/; } 浏览到https:// public_proxy_address /完美加载内部资源。 但是,由于我有多个内部应用程序,我想通过nginx代理所有这些应用程序。 所以,在我的testing中,我已经改变了conf,如下所示: location /app1 { proxy_pass https://internal.ip:port/; } 有了这个,我得到了主/默认的内部应用程序索引页面,但查看源显示我没有链接样式表,js或其他资源正在被重写。 因此页面的全部内容都无法加载。 在Apache中,我可能会写一个proxyhtmlurlmap ^/resource/ /app1/resource R 虽然我找不到在nginx中实现这一点的方法。 我也试过这个,无济于事: location /app1 { rewrite /resource(.*?) /app1/resource$1 break; proxy_pass https://internal.ip:port/; } 如何让nginx正确地将目标位置(app1)预先加载到请求的资源url,以便加载?

Nginx将端口redirect到url

我正在运行安装了VestaCP的VPS。 Web面板在端口8083上运行。 我已经设法得到它在panel.domain.com工作,但是,面板中的一些URL在使用子域时会失去function。 我想知道如何让端口8083指向domain.com/panel 。 这是我在我的nginxconfiguration中尝试过的: server { listen 108.xx.xx.xxx:443; server_name domain.com; root /var/www/ghost; index index.html index.htm; location /panel { proxy_pass https://127.0.0.1:8083; } }

在cloud-init运行时之前/之前的代理设置

在EC2中启动到我们VPC的实例需要HTTP_PROXY和合作伙伴才能访问位于VPC之外的任何东西。 现在我遇到了一个问题(使用数据pipe道),在这里我无法控制为cloud-config传入的用户数据。 鉴于没有设置代理,我可以在cloud-init用户脚本中看到wget挂起(尝试连接)。 在/etc/environment设置了环境variables,看起来这不是在运行级别3(这使用一个积极的古老的Amazon Linux 2013.03 , ps axf表明它是从runlevel 3调用,但我不得不承认我不熟悉各种init守护进程及其与cloud-init的交互): 1354 ? S 0:00 \_ /bin/bash /etc/rc3.d/S99cloud-init-user-scripts start 1355 ? S 0:00 \_ /usr/bin/python2.6 /usr/bin/cloud-init-run-module once-per-instance user-scripts execute run-parts /var/lib/cloud/data/scripts 1356 ? S 0:00 \_ /bin/bash /usr/bin/run-parts /var/lib/cloud/data/scripts 1360 ? S 0:00 \_ /bin/bash /var/lib/cloud/data/scripts/part-000 1362 ? S 0:00 \_ wget -O remote-runner-install -N http://datapipeline-ap-southeast-2.s3.amazonaws.com/ap-southeast-2/bootstrap-actions/latest/TaskRu… […]

是否有可能通过防火墙或代理阻止某个Facebook或Twitter帐户?

我想阻止/过滤/谴责某些社交networking用户的内容可能是攻击性的或暴力的,这样我的局域网内的人(比如说学校)就可以访问主站点, 例如facebook.com 但不是为了例如facebook.com/violentuser。 这甚至有可能吗? 我怎样才能做到这一点 ? 需要你的帮助; 谢谢 !

Apache Archiva与ssl代理

我在服务器configuration领域是一个新手。 在工作中,我们要用Apache Archiva设置一个Maven仓库,基本上我们需要一个地方来存储我们创build的Maven项目。 我能够在本地主机上运行Archiva并通过http访问它。 为了能够通过SSL访问版本库,我们希望将Apacheconfiguration为SSL代理,我遵循许多指南(例如https://stackoverflow.com/questions/30871001/how-to-setup-apache-archiva -to-use-https-instead-of-http )如何做到这一点,但我试图通过https连接时得到的答案是 在连接server_ip时发生错误:8080。 SSL收到的logging超出了允许的最大长度。 错误代码:SSL_ERROR_RX_RECORD_TOO_LONG 我的虚拟主机configuration如下所示: Listen 8081 <VirtualHost *:8081> ServerName server_ip ProxyRequests Off <Proxy http://localhost:8080> Order allow,deny Allow from all </Proxy> ProxyPreserveHost On SSLEngine On SSLProxyEngine On SSLCertificateFile /path_to_cert SSLCertificateKeyFile /path_to_key ProxyPass /http://localhost:8080/ ProxyPassReverse / http://localhost:8080/ </VirtualHost> 我该如何解决这个问题?

Nginx位置重写代理后不起作用

我正在创build一个简单的nginx web服务器。 有几个PHP文件和一些静态页面,我已经将它们分成不同的文件夹,/ data / webjp中的php文件和/ data / webjp_static中的html文件。 这里是configuration文件: server { listen 80; location / { proxy_pass http://127.0.0.1:7900/; proxy_store on; proxy_set_header Host $host; proxy_redirect off; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } server { listen 7900; server_name 127.0.0.1; root /data/webjp/weber; index index.html index.php; location ~ .*\.(php|php5)?$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; […]

Nginx不区分大小写,区分大小写的proxy_pass

我们有几个位置设置了反向代理。 我们目前的configuration和运行是: upstream backends { server Backend1; server Backend2; } server { … other server config stuff here … location /App1 { … proxy header stuff … proxy_pass http://backends/App1; } } 现在我们要做的就是设置它,区分大小写的后端(在本例中是Backend1 / 2 http:// backends / App1 )可以不区分大小写,这样您就可以访问http:// example.com/app1或http://example.com/App1 (或其任何变体) 我们正试图开始工作的新configuration如下所示: location ~* /App1 { proxy_pass http://backends/App1; } 但是当我们重新加载configuration时没有骰子。 我们看到错误: “proxy_pass”不能在由正则expression式给定的位置,或在命名的位置,或在“if”语句,或在“limit_except”内的URI位置… 任何想法/见解如何才能做到这一点?

caching控制no-cache,但不在Nginx的子文件夹中

我在Nginx中使用这个规则 location ~ /app/(?<code>…)/acme/?(?<uri>.*) { add_header Cache-Control "max-age=0, no-cache, no-store, must-revalidate"; proxy_pass http://int-srv/$code/acme/dev/$uri; } 这增加了我上面在调用中写的Cache-control头 /app/abc/acme /app/abc/acme/assets /app/abc/acme/assets/js /app/abc/acme/assets/css /app/abc/acme/anything 我只希望caching控制头被应用到/ app / abc / acme,因为当调用这个端点时,响应是我们的index.html的内容。 我不想caching它,它目前的工作很好。 如果你正在考虑使用index.html制定规则,不幸的是,它不会工作,因为我没有看到我们直接打电话给文件(/app/abc/acme/index.html) Chromedebugging器工具 所以基本上这是我想要的 /app/abc/acme – apply cache-control no-cache,etc header to this location only /app/abc/acme/assets – don't want cache-control header /app/abc/acme/assets/js – don't want cache-control header /app/abc/acme/assets/css – don't […]

代理redis群集与3个主人

我有一个主人的应用程序和redis。 我想创build3个主人的Redis集群。 有没有聪明的代理与这样的群集工作,而不修复应用程序代码? 在互联网search没有给出结果。 请帮我解决这个问题!

为什么只有对NTLM身份validation代理的第一个请求提出质疑,以及通过代理的后续请求如何通过身份validation?

我正在尝试开发一个可以遍历NTLM身份validation代理的networking隧道。 作为我正在调查NTLM身份validation如何工作的一部分。 我的testing安装程序在configuration为需要NTLM身份validation的Windows盒子上安装了WinGate代理。 我的Windows客户端设置为使用WinGate机器作为代理。 WinGate重新启动后,我打开的第一个网页需要身份validation – 我通过Fiddler看到NTLM交换。 来自同一台PC的后续请求似乎不需要authentication。 我的意思是来自PC的任何请求,而不仅仅是来自同一浏览器的请求,例如,在Chrome中完成初始身份validation时打开Firefox。 我已经使用Fiddler(以前还用Wireshark)捕获了所有的stream量 – 我没有看到有任何令牌或标识被发送到代理的证据。 那么代理如何知道允许这些后续请求通过? 这是NTLMauthentication的预期行为?