Tag: Apache

对于Tomcat 8,使用mod_proxy返回503服务不可用的Httpd

我正在尝试将Tomcat与Apache集成。 我的目标是通过http://localhost/myapp将所有请求redirect到http://localhost:8080 我遵循这个指南: http : //tomcat.apache.org/tomcat-8.0-doc/proxy-howto.html 我的httpd.conf如下所示: Include conf.modules.d/*.conf LoadModule proxy_module modules/mod_proxy.so ProxyPass /myapp http://localhost:8080 retry=0 timeout=5 ProxyPassReverse /myapp http://localhost:8080 我的apache-tomcat中的server.xml如下所示: <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" proxyPort="80" /> 现在,当我尝试url http://localhost/myapp ,它会提供503 Service Unavailable错误。 Tomcat和Apache都正常运行。 URL http://localhost:8080正常工作。 可以有文件权限问题吗? 对于tomcat ,用户和组是root/root ,对于httpd ,用户和组是apache/apache 我错过了什么,或者我做错了吗? Httpd版本是2.4.6,Tomcat版本是8.0 httpd错误日志: [proxy:error] [pid 19905] (13)Permission denied: AH00957: HTTP: attempt to connect to […]

如何仅在HTTPS上从.htaccess设置HSTS标头

我的Web应用程序运行在我控制的不同数量的主机上。 为了防止需要更改每个虚拟主机的Apacheconfiguration,我使用.htaccess文件在我的回购中添加了大部分configuration,所以每个主机的基本设置只是几行。 这也可以在部署新版本时更改configuration。 目前.htaccess(联合国)设置标题,做一些重写魔术,并控制UA的caching。 我想在使用.htaccess的应用程序中启用HSTS。 只需设置标题很容易: Header always set Strict-Transport-Security "max-age=31536000" 但是规范明确指出:“一个HSTS主机不能在通过非安全传输传送的HTTP响应中包含STS头域”。 所以我不想通过HTTP连接发送标题。 请参阅http://tools.ietf.org/html/draft-ietf-websec-strict-transport-sec-14 。 我试图使用环境variables设置标题,但我卡在那里。 任何人知道如何做到这一点?

需要在Apache上允许编码的斜杠

我目前正在尝试在url中放置一个url。 例如: http://example.com/url/http%3A%2F%2Fwww.url2.com 我知道,我必须编码的URL,我已经做了,但现在我正在从服务器而不是我的应用程序返回404错误。 我认为我的问题在于Apache,可以通过AllowEncodedSlashes On指令修复。 我已经试过把这个指令放在httpd.conf的底部,我不知道下一步该怎么做。 我把它放在正确的地方? 如果是这样,有没有人有任何其他解决scheme?

Ubuntu中的nginx和supervisor安装

我正在使用django-gunicorn-nginx设置按照这个教程http://ijcdigital.com/blog/django-gunicorn-and-nginx-setup/高级nginx设置,它正在工作。 然后我安装了pipe理员,configuration它,然后我重新启动我的服务器,并检查,它显示502坏的网关。 我正在使用Ubuntu 12.04 LTS /etc/supervisor/conf.d/qlimp.conf [program: qlimp] directory = /home/nirmal/project/qlimp/qlimp.sh user = nirmal command = /home/nirmal/project/qlimp/qlimp.sh stdout_logfile = /path/to/supervisor/log/file/logfile.log stderr_logfile = /path/to/supervisor/log/file/error-logfile.log 然后我重新启动监督,我运行这个命令$ supervisorctl start qlimp ,我得到这个错误 unix:///var/run/supervisor.sock no such file 我的主pipe设置有问题吗? 谢谢!

添加REST到Django

我有一个很好的Django应用程序。 我正在添加REST服务。 我正在寻找我的REST战略的一些额外的input。 以下是我正在绞尽脑汁的一些事例。 现在,我正在使用Django-REST API和一堆补丁。 我想退回到简单的编写视图函数在Django返回JSON结果。 我也可以看到在Apache中过滤REST请求,并将它们路由到单独的非Django服务器实例。 请为每个答案提名一个方法,以便我们可以对其进行投票。

在OSX中,Apache不是从MAMP(但是MySQL工作)开始的

我有MAMP工作了几个月,最近安装了PostgreSQL。 它build议安装Apache,我也确保PostgreSQL的工作。 然后,我卸载PostgreSQL和Apache的构build,并试图重新启动MAMP。 它激发了MySQL数据库(绿灯),但Apache并没有启动。 我卸载并重新安装了MAMP只是为了面对同样的问题。 Apache似乎没有logging在MAMP文件夹中的任何错误,所以没有任何错误报告,我正努力从哪里开始修复它。 我希望这样做的事实,我安装了另一个版本(并删除了)造成的问题,但我太缺乏经验知道我做了什么。 如果不在MAMP文件夹中,哪里可以find任何错误? 不在: /应用/甲基苯丙胺/库/日志 /应用程序/ MAMP /斌/日志

Apache不接受来自本地主机外部的传入连接

我在机架空间启动了一个CentOS服务器并执行了yum install httpd httpd'd。 然后services httpd start 。 所以,只是准系统。 我可以通过ssh(22)远程访问它的IP地址没有问题,所以没有问题的DNS或任何东西(我认为…),但是当我尝试连接端口80(通过浏览器或其他),我得到拒绝连接。 然而,从本地主机,我可以使用telnet(80),甚至是山猫本身,并得到没有问题。 从外面(我的房子,我的学校,一家当地的咖啡店等),telnet连接22,而不是80。 我使用netstat -tulpn (< – 我不会说谎,我不明白-tulpn部分,但这就是互联网告诉我要做的事情),看看 tcp 0 0 :::80 :::* LISTEN – 因为我相信我应该。 httpd.conf说Listen 80 。 我有services httpd restart很多次。 老实说,我不知道该怎么做。 rackspace在传入的80端口请求上没有防火墙。 我觉得我错过了一些愚蠢的东西,但是现在我已经启动了一个准系统服务器两次,并且已经完成了这个function的思考,我已经用我的修补程序把事情弄糟了,但是都没有成功。 任何帮助是极大的赞赏! (对于冗长的post感到抱歉…) 编辑我被要求发布iptables -L的输出。 所以这里是: Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT all — anywhere anywhere state RELATED,ESTABLISHED […]

我怎样才能让Apache gzip压缩工作?

我无法让我的网站使用gzip压缩。 我最近在css-tricks.com上观看了Chris Coyier的video 。 在video中,他谈到了启用gzip压缩以使网站运行更快。 根据他的说明,我通过html5boilerplate.com链接到github,从他们的.htaccess文件复制gzip压缩代码,粘贴到我自己的,并上传到我的网站。 我已经通过gzipwtf.comtesting过,它似乎不工作。 谁能帮我这个? 我的.htaccess文件如下所示: # ———————————————————————- # Trim www # ———————————————————————- RewriteEngine On RewriteCond %{HTTP_HOST} !^orbitprint.com$ [NC] RewriteRule ^(.*)$ http://orbitprint.com/$1 [L,R=301] # ———————————————————————- # Gzip compression # ———————————————————————- <IfModule mod_deflate.c> # Force deflate for mangled headers developer.yahoo.com/blogs/ydn/posts/2010/12/pushing-beyond-gzipping/ <IfModule mod_setenvif.c> <IfModule mod_headers.c> SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding […]

从Netbeans启动Tomcat失败

我从Netbeans IDE 7.4启动Apache Tomcat 6时遇到问题(在7.3版本中,我遇到了同样的问题,其他人提到这个问题也存在于其他版本,如8.0等)。 我做了什么: 删除已安装的Tomcat 7(不删除它,我有同样的困难) 添加新的服务器,从Apache Tomcat网站下载(版本apache-tomcat-6.0.39,与其他版本我有同样的问题) 我的服务器位置:D:\ apache-tomcat-netbeans 系统variablesCATALINA_HOME:D:\ apache-tomcat-netbeans 系统variablesJAVA HOME:C:\ Program Files \ Java \ jdk1.7.0_51 \ tomcat用户:我让netbeans创build新的用户,用密码tomcat调用tomcat。 当我添加服务器后打开{tomcat} \ conf \ tomcat-users.xml文件时,有关于我的用户的信息: <user password =“tomcat”roles =“manager,admin”username =“tomcat”/> 当我现在点击“开始”,我得到了“ Tomcat开始失败 ”。 我的怀疑: 我正在以pipe理员身份在Windows 7上工作,所以我认为这不是对文件权限的问题。 禁用代理没有帮助。 日志:只有一个日志文件被创build:localhost.2014-03-06.log,它是完全空的。 以pipe理员身份启动Netbeans并没有帮助。 从命令行一切都没问题,我在正常或debugging模式下启动 ( catalina.bat jpda start或startup.bat )没有问题。

如何限制我的网站的API用户?

我的网站的合法用户偶尔会通过API请求攻击服务器,导致不良结果。 我想每隔5秒发一个API调用或每分钟n个调用一个限制(还没有计算出确切的限制)。 我显然可以logging数据库中的每个API调用,并对每个请求进行计算,看看它们是否超出限制,但所有这些额外的开销,每一个请求都将失败的目的。 还有哪些其他资源密集型的方法可以用来制定一个限制? 我正在使用PHP / Apache / Linux,它是值得的。