所以有一点背景。 我正在将网站从使用Apache的旧服务器迁移到使用NGINX代理到Apache的新Ubuntu服务器。 将有一个过渡期,网站代码库将在新老服务器上运行。 该网站的searchurl与filter是斜杠分开,往往是可选的,例如 www.example.com/search/deals/q1/q2/q3/q4/q5/q6/ 它映射到以下apache.conf重写规则: RewriteRule ^/search/deals/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/ /results.php?q1=$1&q2=$2&q3=$3&q4=$4&q5=$5&q6=$6 [L,QSA] 有像下面的url是不寻常的 www.example.com/search/deals/q1////q5/q6/ www.example.com/search/deals/q1/q2/q3///q6/ www.example.com/search/deals/q1/q2/q3/q4/// 在新服务器上,我configuration了NGINX,如下所示:两个站点启用了默认的服务器apache文件和example.com文件 /etc/nginx/sites-enabled/apache -> ../sites-available/apache /etc/nginx/sites-enabled/example.com -> ../sites-available/example.com Apache看起来像这样(真正的IP由10.10.10.10取代): server { listen 10.10.10.10:80 default_server; merge_slashes off; #have tried with/without location / { proxy_redirect off; #have tried with/without port_in_redirect off; #have tried with/without proxy_pass http://10.10.10.10:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-Proto […]
我有一个Centos 7服务器的专用networking。 每个服务器只能通过SSH堡垒到达。 而且,所有这些服务器都使用SSSD来针对LDAP目录validationSSH用户的密钥。 由于密钥是针对LDAP目录进行身份validation的,因此没有标准的authorized_keys文件。 二进制文件/usr/bin/sss_ssh_authorizedkeys不是通过一个标准的authorized_keys文件来pipe理一个针对LDAP的查询, sshd格式化为一个authorized_keys文件 – 但实际上并不是一个文件。 因此,就我所知,通过将RSA键绑定到commands=" … "条目来限制用户到特定的命令是不可能的。 SSH用户可以使用以下命令通过堡垒authentication他们的工作站: ssh -A -l [email protected] joes.workstation.ip -o ProxyCommand="ssh -l [email protected] -q bastion.ip nc joes.workstation.ip %p" 不幸的是,他们也能够在堡垒服务器上进行SSH会话,这是我不希望他们能够做到的。 无论如何,我可以使用我当前的工具 – SSSD,SSHD,一个LDAP目录 – 允许SSH用户通过堡垒,但不能进入堡垒?
对不起,因为我已经调查,并加载插件basic-auth.c服务器代理为trafficserver服务器代理我根据本教程https://docs.trafficserver.apache.org/en/4.2.x/sdk/getting -started / a-simple-plugin.en.html创build插件按照教程,但它不工作我希望你的帮助,以validation使用trafficserver,因为在我的服务器上使用它时,squid代理不起作用有一个错误谢谢为了您的帮助,我已经看到ATS无法加载插件,请使用trafficser服务器5.2.3
在此先感谢您的帮助。 我在运行Debian 8的家庭服务器上安装了Deluged(torrent客户端)和一个Web UI来控制它。 我可以使用以下地址访问此Web UI: http://example.com:8112/ : http://example.com:8112/ : http://example.com:8112/ 。 我在同一台服务器上configuration了虚拟主机的Apache2。 我想要做的是使用http://torrent.example.com/访问这个Web UI,而不必input端口号。 所以,我已经在我的域名上为这个子域设置了一个Alogging,并且它正在精确地工作。 经过一番研究,我发现这是可能的使用反向代理。 我已经阅读了它,并在/ etc / apache2 / sites-available /文件夹中创build了一个名为torrent.example.com.conf的新文件。 这里是这个文件的内容: <VirtualHost *:80> ServerName torrent.example.com ServerAlias www.torrent.example.com ProxyPreserveHost On ProxyPass / http://127.0.0.1:8112/ ProxyPassReverse / http://127.0.0.1:8112/ </VirtualHost> 我当然在Apache2中启用了所需的模块,并在启用了站点的站点中启用了这些模块。 如果想要这样做,就是当我访问http://torrent.example.com/ ,它仍然显示这个URL地址,但显示在http://example.com:8112/的Web UI。 根据我所读到的,这应该正常工作。 我的问题是,它不能按预期工作,当我访问它只redirect到我的主要网站http://example.com/的URL,就像它如果我没有设置VirtualHost。 这就是为什么我来这里寻求帮助,我已经阅读了很多其他线程,并尝试了许多不同的设置,但没有一个似乎解决了我的问题。 其中一些解释可能不清楚,或者可能会有一些明显的错误,但是我只是从Web服务器开始,有很多东西需要学习。 提前致谢。
我有一个名为http://SERVER-A.com的服务器,它向第三方地址发送SOAP请求。 另外我有另一台服务器叫做http://Server-B.com ,我想configuration为代理服务器 。 我想通过服务器B (代理我的请求)将我的SOAP请求从A发送到第三方服务器。 我也想代理SOAP请求只有当请求被代理 (从A到第三方/不是直接请求B )。 我已经configuration我的服务器B htaccess文件如下: RewriteEngine On RewriteCond %{HTTP_FORWARDED} . RewriteRule ^ – [P] ProxyPassReverse / %{HTTP_FORWARDED} 我的configuration是否正确? 我应该怎么做呢? 我知道我应该在SOAP请求中configuration我的代理主机和端口。( php客户端)我只能访问.htaccess文件。 我只想让服务器B充当一个中间件(就像正在发送SOAP请求的B ) 谢谢你的帮助。
我是nginx的新手。 我已经用nginxinheritance了一个function齐全的configuration好的Ubuntu服务器,并且希望另外调整它来支持下面描述的有点奇怪的configuration。 基本信息。 我的Ubuntu服务器(我们将其命名为server.corp.com)运行在内部公司networking中。 它拥有Gerrit和Jenkins,每个都有www接口,在自己的端口(8081和8082)上侦听,nginx代理请求到相应的locations 。 例如http://server.corp.com/gerrit的请求被代理到http://server.corp.com:8081不幸的是,我现在无法显示nginxconfiguration,因为我正在家里写这个问题。 我记得它包含了带有proxy_pass子句的行。 现在,这是奇怪的configuration。 server.corp.com, ports 80, 22 and 29418 <–> other Linux <–> Windows Other Linux和Windows PC也属于公司networking(很大)。 Other Linux可以通过端口80,22和29418连接到我的服务器。其他端口被防火墙阻止,我不会受到影响。 Windows PC可以使用SSH连接到Other Linux ,并且可能还有其他端口和协议。 我在Other Linux上既没有login也没有超级用户权限。 我的同事WindowsPC用户已经成功地在端口29418上使用Putty和SSH隧道连接到我们的Gerrit(它也监听端口29418)。 相应的隧道是localhost:29418 -> server.corp.com:29418 。 我的目标是让我的同事在server.corp.com访问Gerrit和Jenkins的www接口。 我可以指示他build立一个或多个SSH隧道到我的服务器。 不过,我想,这也需要一些调整nginx,因为简单的SSH隧道localhost:80 -> server:80不起作用。 Chrome在尝试连接到本地主机时抱怨SSL连接超时:80。 更新2:我试图在我的电脑上build立这个设置(Windows也是如此),并使用Git发行版中的wget。 我还创build了一个实验的位置。 这里是nginxconfiguration的相关部分(我希望) # file nginx.conf include /etc/nginx/conf.d/*.conf; # … # file conf.d/tunnel.conf […]
我有多个服务器(Windows和Linux)在不同的位置运行。 我希望能够将这些(100mbit)服务器的所有stream量通过不同位置的1gig连接进行路由。 在自己做了一些研究之后,我偶然发现了一些情况,但主要是针对当地的解决scheme。 像VPN,代理,NAT和iptables这样的术语出现了,但只是增加了混乱。 什么是最适合使用的解决scheme?
TL; DR:通过Apache ReverseProxy将超过5分钟的Web任务出错。 时间较短的任务/报告成功。 直接访问报告成功( http://internalserver/foobar.aspx而不是http://public.mycompany.com/foobar.aspx )。 我应该在哪里看,我缺less什么超时? 我有一个Apache实例切换到HTTPS,然后ProxyPassing一个请求沿着它的快乐方式…到Windows Server 2012 R2 IIS 8实例。 Browser <==> Apache 2.2.15 <==> IIS 8 (Windows 2012 R2, IIS 8.5.9600.16384) <==> Web App (<==> database) 一切都只是厚脸皮 – 直到一个“长时间运行”的报告被启动。 直接在Windows服务器上运行时,报告需要大约6分钟。 当从浏览器运行时,更短的报告成功 – 但这最终失败。 网页错误: 502 Proxy Error Proxy Error The proxy server received an invalid response from an upstream server. […]
build立 ServerA运行HTTPS站点的Apache,需要连接一个客户端证书。 请参阅以下有关/etc/apache2/sites-available/secure.site.conf和/etc/apache2/mods-available/ssl.conf的信息 ClientA :使用客户端证书连接到ServerA的浏览器 ServerB上的代理 :Apache充当转发代理,它应该能够使用客户端证书和服务器连接到ServerB,请参阅以下有关/etc/apache2/sites-available/forward.proxy.conf的信息 ClientB :使用ServerB上的代理的浏览器可以访问ServerA上的内容,而不需要客户端证书。 状态 工作:客户端A -OK->服务器A 不工作:客户端B -OK->服务器B上的代理服务器-X->服务器A 替代解决scheme我发现SEnginx应该能够完成这项工作 http://www.senginx.org/en/index.php/Proxy_HTTPS_Client_Certificate 这是阿帕奇无法做到的情况下的后备… 日志文件 /var/log/apache2/proxy_8004_access.log all start with [Wed Nov 18 23:42:00.888597 2015] [proxy:debug] [pid 4374:tid 140546074822528] […] proxy_util.c(1771): AH00925: initializing worker proxy:forward shared […] proxy_util.c(1813): AH00927: initializing worker proxy:forward local […] proxy_util.c(1848): AH00930: initialized pool in child 4374 for (*) […]
我有一些在其他服务器上运行的服务,它们在没有SSL的http:// someLocalIp:80上提供了一个web应用程序。 我想在SSL中包装这个,并在https:// nginxServer-globalIp / deliver / 我能够看到像这样的后端服务,但这显然会中断所有链接和引用,因为现在“/ deliver /”必须是前缀。 我不明白如何去使用重写,因为重写似乎(对我)主要是用来改变请求,而不是从后端回复。 这是可能吗? 🙂 当前configuration: server { listen 443; ssl on; ssl_certificate /etc/ssl/some.crt; ssl_certificate_key /etc/some.key; location /deliver { proxy_pass http://someLocalIp; } } 我已经尝试在proxy_pass的末尾添加/(尽可能多的答案build议),但是这会创build一个空白的响应,就好像后端服务没有向nginx发送任何东西。 另外,改变后端以匹配“/ deliver”前缀并不像听起来那么容易,所以我希望没有这样做就可以做到这一点。