Articles of 反向代理

通过nginx(proxy_pass)服务IIS网站不显示CSS,图像或js(404找不到)

我有一个在Ubuntu 14.04 LTS上运行的nginx反向代理。 当向nginx代理发出请求时,会将其传递给包含一个(默认)网站的IIS服务器。 它似乎呈现HTML罚款,但不幸的是,服务器响应所有其他资产404错误。 这里是/etc/nginx/nginx.conf文件: user www-data; worker_processes 4; pid /run/nginx.pid; events { worker_connections 768; # multi_accept on; } http { ## # Basic Settings ## sendfile off; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; # server_tokens off; server_names_hash_bucket_size 64; # server_name_in_redirect off; include /etc/nginx/mime.types; default_type application/octet-stream; ## # Logging Settings ## access_log […]

502代理错误的Apache反向代理

以下是我的https代理虚拟主机conf <VirtualHost *:443> ServerAdmin [email protected] ServerName example.openjuice.co ProxyRequests off SSLEngine on SSLProxyEngine On SSLCertificateFile /etc/ssl/cert/certs/apache.crt SSLCertificateKeyFile /etc/ssl/cert/certs/apache.key <Proxy *> Order deny,allow Allow from all </Proxy> <Location /> ProxyPass https://localhost:3006/ ProxyPassReverse https://example.openjuice.co:3006/ </Location> </VirtualHost> 但是我得到错误 代理错误 代理服务器收到来自上游服务器的无效响应。 代理服务器无法处理请求GET /。 原因:从远程服务器读取错误 请帮助我

只有一个Shibboleth SP反向代理不同的网站

我想知道是否有可能只有一个Shibboleth服务提供商(SP),如果您通过一个反向代理(与SSL卸载等)传递请求到您的所有网站。 所以,假设我在不同的领域有以下网站: example.org blog.example.org wiki.example.org 网站本身及其各自的Web服务器都驻留在自己的VM中,不能直接与外部通信。 我有另一个虚拟机只运行所有这些域的反向代理,并将请求传递到相应VM上的Web服务器。 我们称之为反向代理proxy.example.org (请注意,这不会是一个可访问的域名)。 现在,而不是为每个站点configuration一个SP,我只想在proxy.example.org上安装它,configuration它,以便每个请求 example.org/secure blog.example.org wiki.example.org 将触发Shibboleth身份validation。 请求传递成功后,validation成功。 那可能吗? 我问,因为我只发现这个资源https://wiki.shibboleth.net/confluence/display/SHIB2/SPReverseProxy ,我觉得很模糊,因为它只是说 资源上的位置/安全由Shibboleth SP保护 Shibboleth SP拦截请求并使用https:// proxy.example.org /Shibboleth.sso/SAML2/POST的AssertionConsumerServiceURL生成SAML2 AuthnRequest 所以我不太清楚SP(SP)的安装位置

反向代理多个SMTP / IMAP服务器

我们希望使用smtp.example.com ,而不是将客户服务器名称(如beta.example.com作为IMAP / SMTP服务器。 我们有一个所有域/电子邮件服务器和相应的邮件服务器的数据库。 有没有办法使用nginx(或其他服务器/服务)作为反向代理? 然后nginx应该将请求转发到正确的服务器。 非常感谢你

我的nginx反向代理configuration有什么问题,单服务器(以及更多)

我试图让nginx反向代理设置工作。 我有两个Web服务器设置,一个与Nginx,一个与Apache2。 我目前无法使用nginx服务器,所以这就是我现在正在尝试的所有,但我补充说,我最终尝试两个,以防万一,影响设置。 我有四台机器在这个设置。 1.客户机 192.168.0.5 Ubuntu 14.04桌面 2.反向代理服务器 192.168.0.10 nginx 1.4.6 Ubuntu 14.04服务器 3.服务器1 192.168.0.15 server1.mydomain.com nginx 1.4.6 Ubuntu 14.04服务器 4.服务器2 192.168.0.20 server2.mydomain.com 的Apache2 Ubuntu 14.04服务器 在我的客户端机器上,我已经将我的主机文件设置为指向每个Web服务器的反向代理服务器,如下所示 / etc / hosts在客户端192.168.0.5上127.0.0.1 localhost 192.168.0.10 server1.mydomain.com 192.168.0.10 server2.mydomain.com 我有SSL1和SERVER2的SSL证书,我把它放在反向代理服务器(192.168.0.10)。 我们将其称为server1.crt,server1.key和server2.crt,server2.key。 我相信我必须使用这样的证书进行设置: client(192.168.0.5) —https—> reverseProxy(192.168.0.10 holds ssl certs) —http—> server1 or server2 我现在有两台服务器,http,我只需要修复192.168.0.10上的nginx反向代理设置。 这是我试过的东西,但它不正确的redirect。 再次,我想要一个https连接到反向代理服务器,然后在反向代理和服务器之间build立一个http连接。 /etc/nginx/nginx.conf user […]

Nginx透明反向代理https和http到另一台服务器

我已经研究了一段时间,但其他人询问的用例与我试图实现的更复杂/不同。 我有Nginx为站点提供端口80和443的页面,例如example1.com。 它工作正常服务http和https。 我现在在运行Apache的内部networking上有第二台服务器。 这是另一个名为example2.com的网站。 我有一个单一的wan ip地址,两个站点的Alogging指向它。 我的路由器将端口80和443转发到nginx服务器。 我想如果Nginx可以检查example1.com或example2.com的请求,并且像现在一样发送example1.com到自己,但是只是将example2.com的所有stream量传递给Apache服务器。 由于我已经在example2.com Apache服务器上正确设置了所有ssl证书,我希望Nginx能够透明地将所有内容传递给Apache。 我想我需要代理通行证。 我是否还需要在Nginx上设置相同的证书,或者是否可以透明地将所有内容传递到Apache服务器,就像我已经将端口443直接转发到Apache服务器一样? build议的configuration将不胜感激。

在Tomcat连接器中添加“address = 127.0.0.1”后,JIRA变得不可访问

我将JIRA和Nginx与Nginx安装在同一台服务器上,作为反向代理。 从我从各种来源得知,在server.xml文件中,我必须添加一个地址=“127.0.0.1”属性,以便Tomcat不听外部IP。 但是,一旦我添加到我的8080和8443连接器,事情停止工作,即JIRA网站变得无法访问。 浏览器显示连接被拒绝/连接超时错误。 这里是Tomcat的server.xml文件configuration。 <Connector port="8080" address="127.0.0.1" maxThreads="150" minSpareThreads="25" connectionTimeout="20000" enableLookups="false" maxHttpHeaderSize="8192" protocol="HTTP/1.1" useBodyEncodingForURI="true" acceptCount="100" redirectPort="8443" disableUploadTimeout="true" proxyName=<FQDN> proxyPort="80"/> <Connector port="8443" address="127.0.0.1" SSLEnabled="true" acceptCount="100" clientAuth="false" connectionTimeout="20000" disableUploadTimeout="true" enableLookups="false" keyAlias=<value> keystoreFile=<jks file> keystorePass=<password> keystoreType="JKS" maxHttpHeaderSize="8192" maxSpareThreads="75" maxThreads="150" minSpareThreads="25" protocol="org.apache.coyote.http11.Http11Protocol" scheme="https" secure="true" sslProtocol="TLS" useBodyEncodingForURI="true"/> 以及启用网站的Nginx服务器configuration链接到站点可用文件夹 – server { listen 80 default_server; listen [::]:80 default_server ipv6only=on; server_name […]

dynamic代理第三方内容到https

我使用的是java和apache,我在我的安全页面上托pipe非安全的第三方内容,当我在Facebook上分享我的页面时,facebooks选项卡不显示不安全的内容。 我碰到一篇描述这种行为的文章,我正在寻找纠正这个问题。 https://www.tabsite.com/blog/chrome-and-other-browsers-not-showing-insecure-content/ 由于我的内容提供商不提供安全的内容,我的想法是使用Apache将我的安全URL代理给第三方非安全URL。 我将如何去做我的代理dynamic,以便我不会一致地修改我的服务器映像? 我最初的想法是在我的域名之前加上第三方url https://images.example.com?url=http://content-provider.com/image/1234.jpg 并parsing它与Apache重写或其他东西,但我不知道这是一个合适的解决scheme。 我正在寻找一些想法和build议。 我如何使用mod_rewrite重写URL到查询参数? 我试着写下面的代码,但没有成功 https://images.example.com?url=http://content-provider.com/image/1234.jpg RewriteCond %{QUERY_STRING} ^url=(.*)$ [NC] RewriteRule (.*)$ %1 [NC,L,R=301] 我希望http://content-provider.com/image/1234.jpg

反向代理应用程序及其与Nginx的静态文件

我试图做一些在我看来非常简单的事情,但是我一定是愚蠢的或者错过了一些非常明显的事情,因为我无法弄清楚。 我想访问运行在我的服务器上的多个Web应用程序,每个应用程序都有一个唯一的前缀: http://mywebserver/app1 -> localhost:9001 http://mywebserver/app2 -> localhost:9002 … 根据我的理解,我需要将Nginxconfiguration为反向代理,所以我这样做了: server { listen 80; server_name mywebserver; location /app1{ 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; proxy_pass http://127.0.0.1:9001/; } … } 这个configuration允许我通过http://mywebserver/app1访问应用程序的主页,但是没有加载静态内容。 当我打开我的浏览器的控制台时,我可以看到它试图从http://mywebserver/static/custom/index.js获取资源,而不是像http://mywebserver/app1/static/custom/index.js 。 我试图在位置块中添加一个root指令来提供静态,但是由于静态内容请求是在/而不是在/app1上进行的,所以它不被考虑。 如何解决这个问题? 是否有什么明显的我失踪或我完全误解了反向代理的概念? 谢谢。

Nginx的proxy_set_header不能用于Apache GEOIP

我正在使用Nginx的反向代理到apache2使用以下教程 。 然后,我尝试使用本教程将geoip安装到Nginx 反向代理完美地工作了一段时间,直到我试图安装geoip数据库,所以我可以在PHP上获得国家代码。 我有以下的nginxconfiguration为教程指示。 location ~ \.php$ { # location / { #fastcgi_pass unix:/run/php/php7.0-fpm.sock; #include snippets/fastcgi-php.conf; proxy_pass http://1.2.3.4:8080$request_uri; 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; proxy_set_header GEOIP_COUNTRY_CODE $geoip_country_code; proxy_set_header GEOIP_COUNTRY_CODE3 $geoip_country_code3; proxy_set_header GEOIP_COUNTRY_NAME $geoip_country_name; proxy_set_header GEOIP_CITY_COUNTRY_CODE $geoip_city_country_code; proxy_set_header GEOIP_CITY_COUNTRY_CODE3 $geoip_city_country_code3; proxy_set_header GEOIP_CITY_COUNTRY_NAME $geoip_city_country_name; proxy_set_header GEOIP_REGION $geoip_region; proxy_set_header GEOIP_CITY $geoip_city; […]