Articles of 代理

使用Nginx作为使用Apache重写URL的PHP​​站点的反向代理

我正在尝试使用Nginx作为运行PHP站点的Apache的caching反向代理。 这是一种工作,但试图重写Apache设置的URL时,问题来了,它不工作,因为我希望。 这是设置。 我有一个基于Joomla的PHP网站在Apache上运行,端口8080(http)和44343(https) – 这工作正常,这里没有问题。 我已经删除了Joomla .htaccess文件,因为我认为Nginx会重写index.php本身,并照顾caching必要的PHP文件。 Joomla重写URL如下example.com/page1 => example.com/index.php/page1 我有Nginx监听端口80,443。下面是网站configuration server { listen 80; listen [::]:80; server_name www.example.com return 301 https://$server_name$request_uri; } server { client_max_body_size 100M; autoindex off; listen 443 ssl; listen [::]:443 ssl; server_name www.example.com; server_name_in_redirect off; ssl_certificate /example.com/ssl.crt; ssl_certificate_key /example.com/ssl.key; root /var/www/site; index index.php index.html index.htm default.html default.htm; location / { […]

是多用户环境下dynamic端口转发的安全替代scheme

我的用户在外部networking中的[externalserver]上工作。 我想让他们访问我的防火墙networking内的https服务。 我在DMZ中使用了无密码的ssh访问权限。 目前我让他们创build一个SSH SOCKS5转发代理: user@externalserver> ssh -Nf -D 9876 user@jumphost 并让他们把这个socks化的应用程序指向localhost:9876。 问题是,一旦build立了这个隧道,[externalserver]上的所有用户都可以通过它访问我的内部https服务。 显然ssh不提供SOCKS代理的身份validation。 我怎样才能实现这个function,但防止[外部服务器]上的非授权用户访问我的networking? 最好是一个无密码的解决scheme。 我对[externalserver]没有pipe理权限。

是否可以在同一个VPS上同时运行OpenVPN服务器和代理服务器?

我有一个安装了OpenVPN服务器的Ubuntu VPS,所以我从我的家庭networking连接到它。 我可以在同一VPS上安装代理服务器(如Dante),并从OpenVPN连接连接到它,还是需要额外的接口(IP地址)?

Squid Proxy和Microsoft AD证书服务

我有一个使用sslbumpfunction的Squid代理服务器,可以与自签名证书一起使用,但是浏览器对此抱怨。 现在我正在尝试将Squid服务器设置为Active Directory CA的从属CA,以便浏览器信任由Squid创build的证书。 以下是我在做什么不工作的概述: 在squid服务器上用openssl创build一个CSR 将CSR粘贴到Microsoft AD Certicicate Services(使用从属CA模板) 将生成的Base-64证书放到Squid服务器上 这导致浏览器抱怨证书。 当我在浏览器中查看证书时,我总是得到以下错误:“Windows没有足够的信息来validation此证书”,并且证书path中没有CA. 上面列出的步骤在这里更详细。 赛特并不是我的强项,我不确定要从哪里出发。 我觉得这个问题可能与我如何创build企业社会责任有关,也可能是我对这个过程的理解是根本错误的。 任何帮助表示赞赏。 是的,我们的最终用户知道这一点。

如何使用Dante来调用Microsoft Azure(服务总线协议)?

背景和问题 : 我有一个在WebSphere Application Server上运行的Web应用程序。 底层的操作系统是redhat 此应用程序需要直接访问Microsoft Azure通知服务(通过单个URL使用服务总线协议) 出于安全原因,我不能允许这个,所有出站stream量都必须通过代理 Web应用程序无法configuration为使用代理(缺lessfunction) 我无法修改Web应用程序的代码 我可以configurationWeb应用程序向其发送stream量的URL 我正在评估以下解决scheme : 使用Dante代理(BDS许可+包可用) 在服务器模式下使用代理服务器 将其安装在运行Websphere Application Server的同一台计算机上 请让Dante监听特定的端口,以便收集来自我的Web应用程序的stream量 configurationWeb应用程序以使其将stream量发送到代理程序(更改URL) 使Dante代表呼叫 换句话说,这是我想要达到的目的 : Web Application -> Dante -> internal proxy -> external proxy -> internet -> Azure 为了避免这种情况: Web Application -> internet -> Azure 问题 : 可以和Dante做这个吗? 如果是,我可以在哪里find一个简单的例子(Dante文档不是很清楚)? 否则你有其他解决scheme吗? 在此先感谢您的帮助。

用于ws://协议的NGINX代理设置

我正在尝试设置NGINX代理networking套接字stream量。 我正在NGINX(端口80)上运行一个网页,该端口具有来自8080端口的MJPEG馈送,并且还通过端口8090接收networking套接字stream量。我可以代理MJPEGstream,但不能代理networking套接字。 在我的网页,客户端JavaScript连接正常,没有代理使用这一行: var conn = new WebSocket('ws://192.168.0.14:8989 / ws'); 代理这个我试着设置下面的NGINXconfiguration: #Proxy the Web Socket Traffic #———————————————- location /sock/ { proxy_pass ws://localhost:8989/ws; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } #Proxy the MJPEG Streamer feed #———————————————- location /mjpeg/ { proxy_pass http://localhost:8080/; } 然后将客户端JavaScript更改为以下内容: var conn = new WebSocket(' http://192.168.0.14/sock/ '); 但是当我重启NGINX的结果是: 作业nginx.service失败。 有关详细信息,请参阅“systemctl status […]

响应头会影响Chrome如何处理页面?

我有一个反向代理模式转发请求到NGINX的Squid代理,我想删除所有的信息,有关的Web服务器,代理等头目前我有Via头, caching控制头, 服务器头,和夫妇更多。 我实际需要的唯一头是caching控制,我想摆脱其余的。 我可以很容易地从Squid中删除标题,但是当我这样做需要1分钟来加载页面…我认为Chrome需要一些标题才能正常工作。 有人可以请解释,如果任何标题是特别重要的Chrome或我的问题是在别的地方? 我真正想要删除的标题是服务器标题和Via标题… 谢谢

通过TPROXY的几个VLAN的stream量redirect

我有我的公司开发的HTTP代理。 代理使用TPROXY。 通常,安装此代理需要添加一些路由规则和iptables规则(对于squid): ip rule add fwmark 1 lookup 100 ip route add local 0.0.0.0/0 dev lo table 100 iptables -t mangle -N DIVERT iptables -t mangle -A DIVERT -j MARK –set-mark 1 iptables -t mangle -A DIVERT -j ACCEPT iptables -t mangle -A PREROUTING -p tcp -m socket -j DIVERT iptables -t mangle -A […]

nginx / memcached用于caching的Web代理

我试图将nginx设置为HTTP代理上的caching层 – 以及memcached来做实际的caching。 这里的目标是我们有一个内部应用程序,它会频繁地发出 HTTP请求,我们希望使用nginx + memcached作为Web代理来加速对这些传出客户端请求的响应。 (特别是因为许多请求可能是多余的)。 有很多关于设置nginx和memcached的很好的文档和信息,但是我遇到了一个问题,因为看起来我的特殊用例并不常见。 大多数教程,例子等假定读者正在运行一个网站 ,并且想要使用nginx + memcached来提高网站的性能。 但是我的用例是不同的。 我只想使用nginx作为Webcaching代理,并使用memcached作为caching的实际存储层。 同样,我对加速网站传入请求的性能不感兴趣 – 我对加快来自内部应用程序的传出 HTTP请求感兴趣。 所以,虽然似乎有很多在线的教程解释了如何将nginx设置为Webcaching代理 ,以及许多在线教程解释了如何将nginx + memcached设置为高性能cachingWeb服务器,但是,似乎很多解释如何将nginx设置为使用memcached执行实际caching的Webcaching代理。 好的,所以我试图在两条线之间读一遍,然后自己弄明白。 我有nginx和memcached都安装在开发盒本地。 我也使用“ 增强的Nginx Memcached模块 ”,而不是nginx自带的nginx + memcached模块,因为很明显,开箱即用的版本不会cachingHTTP头 (这看起来似乎使其在实践中无法使用,除非我在这里错过了一些东西)。 所以我的nginx.conf文件的相关部分是: upstream some-upstream-proxy { server proxy.giant-corporation.com:82; } upstream memcached_upstream { server 127.0.0.1:11211; keepalive 20; } server { listen 80 default_server; server_name my-cache-proxy; location […]

从http响应通过nginx反向代理传递cookie

当我运行一个nginx作为代理(在docker容器中)时,我有一个传递我的cookie的问题。 这是我的nginx代理的configuration: location /test { proxy_pass http://test-backend:8080; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; } 当我运行我的后端没有代理我有我的回应中的cookie。 但是,如果我使用代理运行它的cookie没有通过代理传递。 我错过了什么样的设置?