一个客户端有一个服务,需要一点点的JavaScript被添加到客户的页面。 作为展示潜在客户的营销工具,我创build了一个Web应用程序,演示客户的页面将如何与我的客户的JavaScript看起来。 这很酷,销售团队喜欢它! 该应用程序使用反向代理(mod_proxy),使客户的网站似乎是我们的域名,所以应用程序可以添加JavaScript没有跨站点脚本的限制。 现在仅限于授权用户。 这个设置运行良好 – 也许太好了! 现在,首席执行官想把这个工具从主页上提供给任何人。 但是,众所周知, 打开反向代理几乎普遍不好。 有没有什么办法可以让这个演示程序成为可能? 也就是说,它会使垃圾邮件发送者和黑客无用,但能够向潜在客户展示几个演示页面? 我有一些想法 每个IP地址每小时只允许X个文件被代理。 仅限于处理GET请求 不要设置cookie 将域名黑名单保留为代理(按点击付费广告服务器) 将警告注入页面内容(“这不是XYZ服务器”),然后由我的应用程序脚本删除。 任何其他的想法,或者这是一个傻瓜的差事?
我无法设置mod_proxy和tracd。 似乎这个问题几乎所有的search结果带我到内置的trac文档页面,提到它作为一个选项。 我有几个VirtualServer已经在有问题的盒子上运行,所以在端口80或443上运行tracd不是一个选项,但我想让我的trac服务器可以在这台机器上访问,而无需通过防火墙暴露额外的端口。 让事情变得更加复杂的是,我有多个Trac存储库由同一个tracd实例提供,所以我想这样设置: http ://trac.abc.com被代理到localhost:8000/projects/abcproject , http ://trac.def.com被代理到localhost:8000/projects/defproject 。 目前,我有下面的设置导致100%403错误。 服务器是以www-data的forms运行的,所有trac文件存储的目录都是由www-data拥有的,而tracd(如下所示)则以www-data的forms运行,所以不知道它在哪里挂起。 /var/apache2/sites-enabled/trac.abc.com上的相关configuration: ProxyPass / http://localhost:8000/abcproject ProxyPassReverse / http://localhost:8000/abcproject /var/apache2/sites-enabled/trac.def.com上的相关configuration: ProxyPass / http://localhost:8000/defproject ProxyPassReverse / http://localhost:8000/defproject 用于实例化tracd的命令: tracd -a defproject,/var/www/vhosts/trac-common/users.htdigest,DEFProject -a abcproject,/var/www/vhosts/trac-common/users.htdigest,ABCProject -p 8000 -b localhost -e /var/www/vhosts/trac-common/projects 如果我访问http://localhost:8000/一切正常,但如果我尝试通过任何代理主机访问,我最终会在每一个403。 我已经成功地使用了mod_proxy,如上所述的其他服务器,如couchdb,所以也许这与tracd发送的头?
我有两个网站 OLDSITE和新闻网站。 OLDSITE拥有120个IP地址,新闻网站有5个。我希望能够将所有事情从OLDSITE和NEWSITE中分离出来,这样他们就不会被绑在一起,而是可以在同一台Linux计算机上使用它们。 我目前的Apache设置是这样的: Listen 80 NameVirtualHost * <VirtualHost *> ServerName oldsite.com ServerAdmin [email protected] DocumentRoot /var/www/ <Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> RewriteEngine on RewriteCond %{HTTP_HOST} ^([^.]+)\.oldsite\.com$ RewriteCond /home/%1/ -d RewriteRule ^(.+) %{HTTP_HOST}$1 RewriteRule ^([^.]+)\.oldsite\.com/media/(.*) /home/$1/dir/media/$2 RewriteRule ^([^.]+)\.oldsite\.com/(.*) /home/$1/www/$2 </VirtualHost> <VirtualHost newsite.com> ServerName newsite.com ServerAdmin [email protected] DocumentRoot […]
我目前正在一个跨两个不同的服务器托pipe的网站上工作。 一台服务器托pipe主站点(example.co.uk),另一台服务器托pipe电子商务应用程序(Magento),目前可通过shop.example.co.uk访问。 我可以完全访问托pipe电子商务网站的服务器,并可以完全访问域configuration; 然而,主要网站托pipe在共享主机上,我唯一的访问是通过FTP。 如果没有将电子商务应用程序移动到共享主机,有没有什么办法可以让我们通过example.co.uk/shop访问电子商务网站,只有这个url? 我们只想访问从子目录(为SEO的原因),所以进入shop.example.co.uk域名应该redirect到example.co.uk/shop。 我目前正在试图确定mod_proxy是否在共享主机上可用,尽pipe看起来不太可能。 这是唯一的方法来做到这一点? 编辑:感谢所有迄今为止的答案。 为了解释一下理由,这是一个客户,他希望主办自己的主场地,因为它是由一家独立的公司开发和pipe理的。
当URL中存在编码空间时,我们正在接受来自Apache的500个代理,而代理对tomcat的调用。 我们正在迁移一个运行良好的J2EE容器的应用程序,该容器有一个较早的集成版本的Apache(1.x),但是当我们将应用程序移动到Tomcat + Apache 2 + mod_proxy后,我们开始发现错误。 例如: http://foo.org/app/rest/no_spaces/ works fine http://foo.org/app/rest/no%20spaces fails with a 500 如果我们直接打了tomcat,那么请求就可以正常工作,而且我们知道在通过Apache时它并没有到达servlet。 对于foo.org上的服务器,代理configuration如下: ProxyPass /app ajp://127.0.0.1:8080/app ProxyPassReverse /app ajp://127.0.0.1:8080/app 我们尝试切换到HTTP而不是AJP,而不会改变错误。 主要的理论是,mod_proxy正在解码%20,然后期望看到其他HTTP头信息,而不是剩余的URL子string,并导致500.如果是这样的话,有没有人有一个解决方法,不涉及重写应用程序。 如果这不是原因,有没有人有什么build议呢? 我没有看到在我的search中确切的症状的文档或错误报告。 提前致谢。
我在Apacheconfiguration文件中运行一个应用服务器,在我的Apacheconfiguration文件中有以下几种: ProxyPass /app http://myapplication:8080/myapp ProxyPassReverse /app http://myapplication:8080/myapp 当我打开NTLM身份validation(使用mod_ntlm)身份validation失败(绕过代理时,它工作正常)。 由于特定于连接的NTLM规范,在代理之后运行NTLM时,快速search会显示很多问题。 有没有人有一个工作的Apacheconfiguration,允许通过代理NTLM身份validation? 谢谢你的帮助。
我有Apache2configuration代理指向特定虚拟主机的所有stream量到本地tomcat实例。 一切都很好,但是大于100kb的多部分post。 这样的post在tomcat结束时失败,像SocketTimeoutExceptionexception。 如果我直接连接到Tomcat(监听端口!= 80),那么所有的post都处理得很好。 Apache的虚拟主机configuration是这样的: NameVirtualHost * SetOutputFilter DEFLATE <VirtualHost *> ServerName foo.bar.com ErrorLog c:/wamp/logs/foo_error.log CustomLog c:/wamp/logs/foo_access.log combined ProxyTimeout 60 ProxyPass / http://localhost:10080/foo/ ProxyPassReverse / http://localhost:10080/foo/ ProxyPassReverseCookieDomain localhost bar.com ProxyPassReverseCookiePath /foo / </VirtualHost> 我尝试浏览Apache2和mod_proxy文档,但没有发现有用的东西。 任何想法为什么Apache2拒绝代理请求大于X字节? 谢谢!
我们有一个Apache虚拟主机www.example.com现在我试图让www.example.com/mypath去加载页面 www.example1.com使用mod_poxy我有一个基地 ProxyPass /mypath http://www.example1.com ProxyPassReverse /mypath http://www.example1.com 但www.example1.com上的链接全部是<a href='/xxx/xx'>example link</a> 所以当他们回到www.example.com/mypath的时候www.example.com/xxx/xx我怎样才能让他们成为www.example.com/mypath/xxx/xx 干杯
我已经尝试了一些ProxyPass,ProxyPassReverse和ProxyHTMLURLMap的组合,但我仍然没有太多的运气。 我只是希望能够通过访问www.printerhost.com/printers/printername来打印CUPS中的打印机,而不必添加端口631或在端口80上进行CUPS侦听。 根据要求,这里是configuration文件: LoadModule proxy_html_module modules/mod_proxy_html.so LoadModule xml2enc_module modules/mod_xml2enc.so NameVirtualHost *:80 <VirtualHost *:80> ServerName blah.yours.com JkMount /* balancer JkMount /jkmanager jk-status JkUnMount /cups* balancer ProxyRequests Off ProxyPass /cups/ http://localhost:631/ ProxyHTMLURLMap http://localhost:631 /cups <Location /cups/> ProxyPassReverse / ProxyHTMLEnable On ProxyHTMLURLMap / /cups/ </Location> </VirtualHost>
我非常了解在不同用户帐户下运行不同网站的好处,以便在单个Web应用程序受到威胁时限制受损。 我被指示在我们的主要公司域名上安装一个wordpress博客作为该域名的子文件夹(example.com/blog),而不是一个子域名(我相信这是一个SEO策略)。 我必须将主要电子商务网站(可访问我们的用户帐户数据库)的博客分区,但是我看不到使用suexec执行此操作的明确方法。 我唯一的想法是在单独的服务器上安装博客,并在主站点上使用mod_proxy作为反向代理。 但是,这意味着我们必须在两个不同的地方维护主要网站模板(博客必须与主站点相同的页眉,页脚等)。 如果这是唯一的解决scheme,那么这可能是我会select的path,但我想知道是否有任何其他的想法,这将不胜感激。