Articles of 反向代理

Nginx反向代理返回404

我使用Nginx作为ArchLinux镜像的caching代理(以加速内部服务器构build)。 它正确地反向代理四个站点,但在第五个返回神秘的404s。 /etc/nginx/conf/nginx.conf: user http; worker_processes 2; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; log_format main '$remote_addr – $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/access_log main; error_log /var/log/error_log debug; sendfile on; tcp_nopush on; tcp_nodelay off; keepalive_timeout 30; gzip on; proxy_buffering on; proxy_cache_path /srv/http/nginx/proxy levels=1 keys_zone=one:256m inactive=5d […]

Ngnix作为基于Apache名称的虚拟主机的反向代理

我正在Apache上运行几个网站,目前正在使用基于名称的虚拟主机。 所有的网站都在同一台服务器上。 我想在一台新的服务器上添加Ngnix作为caching逆向代理。 处理多个基于名称的虚拟主机的最佳方式是什么? 我应该简单地让Nginx处理名称,并在一个单独的端口上运行每个Apache虚拟主机? 或者有没有办法让Nginx把主机名传给Apache,并让Apache负责处理域名呢?

nginx将dynamic内容caching到静态

我读过和听说过,nginx可以cachingdynamic内容并使其成为静态的,因此加载速度更快,需要更多的apache负载。 有没有人做过这个? 这值得么? 任何优点/缺点呢?

带有Redmine SVNauthentication的Nginx代理

我试图build立一个系统,我有一个nginx服务器作为我想要运行的多个网站的反向代理运行。 为了分离网站,我创build了一个包含每个站点的Linux容器,以便减less数据库使用等方面的冲突。 我目前正在努力让我的主要网站工作,并有乘客设置nginx和连接到redmine,我有一个Apache安装专门设置为通过HTTP服务的SVN,并试图使用redmine身份validation。 我已经按照redmine howtos中的描述设置了所有的东西,但是当我从SVN中检查一个项目时,即使项目是私有的,每当我尝试提交到这个版本库,它都会失败,说“无法打开请求的SVN文件系统“,与该事件相关的Apache错误日志是”(20014)内部错误:无法打开文件'/ srv / rcs / svn / error / format':没有这样的文件或目录“。 如果我拿出redmine身份validation,我可以签出和签入存储库罚款,但没有authentication。 有没有人有任何想法? 编辑 我试图通过尝试通过LDAP进行身份validation工作来解决这个问题,我设法得到它,以便我的用户可以login到redmine网站,但只要我试图检查任何东西,它说,访问被禁止存储库。

带有Apache反向代理的Sharepoint使用子目录

我们的团队是Apache的新手。 我们有一个SharePoint 2007应用程序,位于我们的内部服务器上,地址是http://internal.site.com 。 我们需要使用Apache作为从外部站点到内部服务器的反向代理。 外部服务器是在一个地址,我们将调用http://external.site.com/appname 。 这个问题伴随着SharePoint的相关链接。 链接在sharepoint页面可能会指向“/_layouts/dir/subdir/page.aspx”,但是当传递到代理,这个链接在页面中显示为http://external.site.com/_layouts/ … (没有/ appname附加上)。 所以看来我们必须做一个URL重写。 但是这会扩展到其他问题 – SharePoint生成的样式表,JavaScript等中的相对URL(即我们无法控制)。 SharePoint还会创build一些url“\ u002flayouts \ u002fuserdisp.aspx?Force = True \ u0026ID =” 到目前为止,我认为解决这个问题的最好方法是,对于每个URL(包括样式表,javascript等): 切换不正确的斜杠。 打开任何相对的url(以“/”开头的url就是我想我们可以定义的url),并将它们变成http://external.site.com/appname/[URL] “ 使用ProxyPass和ProxyPass reverse来转换path(现在应该都是绝对的并且格式正确)。 这可能是对的,也可能是错误的,我欢迎你的意见,如何做得更好。 为了实现这个目标,到目前为止,我已经有一个configuration文件,我确定在很多方面都是错误的,但我认为是一个开始。 我想就如何更好地实施我的想法提出意见。 ProxyRequests off <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass /appname/ http://internal.site.com/ ProxyPassReverse /appname/ http://internal.site.com/ <Location /appname/> ProxyHTMLEnable On ProxyHTMLExtended […]

nginx反向代理子域名正在redirect

所以我有一个前端nginx服务器,它将代理到其他几个nginx服务器(运行Passenger for Rails应用程序)。 以下是前端nginxconfiguration中的一部分: server { listen 80; server_name git.domain.com; access_log /server/domain/log/nginx.access.log; error_log /server/domain/log/nginx_error.log debug; location / { proxy_pass http://127.0.0.1:8020/; proxy_redirect off; 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_max_temp_file_size 0; client_max_body_size 10m; client_body_buffer_size 128k; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; } } server […]

Outlook Web Access,反向代理和浏览器

由于公共IP丢失,我们最近将一个交换服务器移到了一个反向代理之后。 我已经设法configuration反向代理( httpd proxy_http )。 但是SSLconfiguration存在问题。 当使用Firefox访问OWA界面时,一切正常并且正常工作。 在使用MSIE或Chrome进行访问时,他们不会检索到良好的SSL证书。 我认为这是由于httpd的倍数虚拟主机。 有没有一个解决方法,以确保MSIE / Chrome请求像FF那样的良好域名的证书? 已经使用SSL虚拟主机进行了testing: SetEnvIf User-Agent ".*MSIE.*" value BrowserMSIE Header unset WWW-Authenticate Header add WWW-Authenticate "Basic realm=exchange.domain.com" A: ProxyPreserveHost On 也: BrowserMatch ".*MSIE.*" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0 要么: SetEnvIf User-Agent ".*MSIE.*" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0 许多ProxyPass和ProxyReversePath on /exchweb /exchange /public等… 而且它似乎还没有工作。 任何线索? […]

代理多个端口上的同一台服务器?

我忙于configuration一个驻留在一台服务器上的nginx反向代理,它将位于另一台服务器上的apache Web服务器前面,这个服务器将通过mod_wsgi服务于一个Django应用。 在几天前仔细阅读互联网的过程中,我看到一些nginxconfiguration示例,其中有一个服务器在上游指令中设置了多个端口。 所以,而不是这样做(我现在所做的或多或less) upstream webserver { server backend1.com; } 他有: upstream webserver { server backend1.com:8000; server backend1.com:8001; server backend1.com:8002; } 显然,Apacheconfiguration为监听这三个端口。 (我认为在我看到的例子中,我不能再发现它,它是一个运行Rails的杂种后端,无论值多less钱)。 无论如何,我的问题是,这种方法有什么样的优点或缺点? 我知道任何一种方式的作品,我可以很容易地configuration任何选项,但我只是想知道是否有人可以阐明这是一个好/坏/不必要的configuration,为什么。 非常感谢您提供的任何智慧。

最轻的静态网站IP地理定位技术?

我运行一个站点,后面是一个Squid反向代理,它提供了大部分caching的内容(包括html,不仅仅是图像等)。 我需要为位于美国的用户展示不同的内容。 为了做到这一点,我们有什么解决scheme? 我想过使用像edgedirector.com一些地理DNS服务,并将美国用户移动到不同的IP,但我对地理DNS解决scheme严重怀疑。 据我所知,edgedirector只能知道客户使用的ISP的DNS服务器(或OpenDNS,谷歌公共DNS等)的位置,但不知道客户的位置。 我真不明白他们怎么知道客户端的IP,客户端不需要直接查询edgedirector。 我认为另一个解决scheme是使用JavaScript和MaxMind GeoIP Javascript Web服务或Google API客户端位置,但这将是太慢了。 我也想过使用一些反向代理,如Squid,Varnish,Ngninx等,它们直接与Maxmind软件(或其他软件)协同工作,而不需要到后端(比如每个国家的caching副本)。 不知道这是可能的鱿鱼或一些其他反向代理。

在Apache HTTPS反向代理中设置特定主机超时,单个VirtualHost,许多实际主机configuration

我将Apache作为HTTPS反向代理运行,其中许多实际主机通过单个VirtualHost(单个公共IP,通配符证书)使用mod_rewrite和mod_proxy进行代理。 基本上是这样的: <VirtualHost *:443> SSLEngine On … RewriteEngine On RewriteCond %{SERVER_NAME} ^(server1|server2|server3)\.domain\.net$ RewriteRule ^/(.*)$ https://%{SERVER_NAME}/$1 [P] # Forward requests for listed servers RewriteRule ^.*$ – [F] # Block anything else </VirtualHost>` 现在,我需要将Timeout设置为比默认值更大的值,但仅限于发送到其中一个服务器(用于移动设备的同步服务器)的请求。 这可以做到不需要一个单独的VirtualHost(从而另一个公共IP)?