我已经在2个Ubuntu 11.10虚拟机上安装了Apache2,我试图获得一个非常基本的反向代理工作。 我什么都没有,但每个默认的网站设置。 我想要访问http://server.com/app ,并让它返回http://app.internal.server.com/ 。 从我读过的应该都是相当直接的,但是我没有Apache的经验,所以我可能错过了一些东西! 例如,我没有在Apache(ProxyPass指令除外)上设置任何关于/app 。 我使用apache2ctl mod_proxy启用mod_proxy, apache2ctl mod_proxy以下内容添加到httpd.conf中,然后重新启动apache2: ProxyRequests Off ProxyPreserveHost On <Proxy *> Order allow,deny Allow from all </Proxy> ProxyPass /app/ http://app.internal.server.com/ ProxyPassReverse /app/ http://app.internal.server.com/ 在apache2 error.log我看到: File does not exist: /var/www/app
好的,所以我有一个我正在使用的Apache主机(共享主机),他们的根目录是.htaccess文件。 Options -Indexes SSLOptions +StrictRequire ErrorDocument 401 "<!DOCTYPE html><html lang='en'> … " ErrorDocument 403 "<!DOCTYPE html><html lang='en'> … " SSLRequireSSL 所以当用户尝试连接没有SSL,他们被提示与文件中列出的自定义403 HTML。 在将旧url保留在地址栏中的情况下,可以快速添加https 。 但是,对于错误页面的改进,希望从./error加载一个php文件,并在ErrorDocument的定义中使用该文件。 现在这是踢球者,如果只是直接指定文件… ErrorDocument 403 /error/script.php 他们将得到另一个403或Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request. 因为到该文件的连接不在SSL下。 为了解决这个问题,可以试试这个… ErrorDocument 403 https://site.tld/error/script.php 但是,将客户端redirect到https://site.tld/error/script.php ,这是UNDESIRED,因为他们必须重新inputurl,因此无法将http更改为https 。 所以,我想我必须做下面的一个: […]
我正在Dreamhost VPS上工作,所以我不知道这是否与此有关: php.ini文件中的include_path条目似乎完全被忽略。 默认情况下,有几个php.ini文件分散在一起,但是在确定include_path值时似乎没有一个文件被使用。 包括phpinfo()表示正在读取的文件(并且据我所知,没有其他文件覆盖它)。 我可以完全删除 php.ini文件,并且包含path不会更改。 当我运行一个web请求时,它总是等于.:/usr/local/lib/php:/user/[username]/pear 。 它应该是.:/usr/local/lib/php:/usr/local/php5/lib/pear 。 /用户甚至不是服务器上的目录 。 这是/家。 和phpinfo()打印出不同的include_path取决于我是否从命令行(它工作正常)或通过Web请求(它返回上述)调用它。 真正奇怪的是,当我刷新为正确的值时, phpinfo()所示的包含path有时会随机更改 ,但再次刷新会将其重置为旧的错误值。 所以呢?
有CentOS和Plesk服务器。 安装nginx的权利如何描述在这里: http : //gudym.net/plesk-nginx.html但现在,如果我去mysupermegasite.com我越来越 502 Bad Gateway nginx/0.8.55 这个错误似乎是因为Apache不响应NginX。 但如果我去mysupermegasite.com:8080我看到正确的页面。 所以Apache似乎在8080端口运行良好。 而在这个指示Apache应该是在8080! 所以这似乎是正确的。 也在 /var/www/vhosts/mysupermegasite.com/conf/nginx.conf我看到: server { listen 80; server_name mysupermegasite.com www.mysupermegasite.com ; error_log /var/www/vhosts/mysupermegasite.com/statistics/logs/error_log.nginx warn; location / { proxy_pass http://www.mysupermegasite.com:8080$request_uri; include /etc/nginx/proxy.conf; } location ~*/w3tc/* { proxy_pass http://www.mysupermegasite.com:8080$request_uri; include /etc/nginx/proxy.conf; } location ~* ^.+\.(jpg|jpeg|gif|png|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|wav|bmp|rtf|js|ico|swf)$ { root /var/www/vhosts/mysupermegasite.com/public_html; expires 7d; } } 所以…据我所知,它指示nginx到mysupermegasite.com:8080从Apache获取页面。 让我们看看错误日志vi […]
这正如标题所述。 我如何连接/访问位于中国的networking/数据库服务器。 操作系统:RedHat 6.0 Websever:Apache 2.2 数据库:MySQL 5.1 服务器脚本语言:PHP 5.3 对于初学者,我已经尝试了ping web服务器和数据库服务器的ip地址。 100%发送,100%的损失。 我听说这可能是由于中国的防火墙,但我不确定。 有人有主意吗? 请分享〜谢谢:) 做了一个tracert .. 20跳..它看起来不那么糟糕.. 1 1 ms 1 ms 1 ms menu <my ip address> 2 11 ms 9 ms 9 ms bb116-14-180-1.singnet.com.sg [116.14.180.1] 3 92 ms 9 ms 9 ms 202.166.121.41 4 9 ms 9 ms 9 ms xe-7-1-0-3700.sherry.singnet.com.sg […]
我对这里发生的事情有些困惑。 我试图与谷歌诊断情况无济于事。 我想得到这个工作,以及明白什么是错的。 基本上我试图启用远程Ubuntu 11.10 Apache服务器上的SSL。 我目前使用snakeoil证书只是为了让所有的工作,然后我会切换到一个可信的证书。 扫描443显示它在服务器上打开。 当我ssh和运行这个命令 openssl s_client -connect localhost:443 一切看起来不错。 但是,当我远程运行此命令 openssl s_client -connect www.mydomain.com:443 我得到这个错误 CONNECTED(00000003) 10576:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:s23_clnt.c:607: 端口已打开并正确转发。 是什么赋予了?
使用通过mod_fcgid运行Apache和PHP的服务器,我希望将所有由PHP处理的请求logging到一个单独的文件中,以便更好地了解哪些请求正在通过PHP进行处理,而不是直接通过文件系统进行处理。 这是一个在.htaccess中有一些相当复杂的重写规则的网站,它通过mod_rewrite将caching的PHP请求转换成静态文件请求,所以caching的请求甚至不会触及PHP子系统。 因此,我想确保我所做的任何日志自定义都不会被mod_rewrite魔法抛弃。 仅仅因为请求URI以.php结尾,并不意味着请求最终会被PHP处理。 我需要基于所有重写规则应用后发生的任何事情。
—-编辑:问题解决了。 不知何故,我的提供者似乎阻止testing到互联网。 远程机器testing成功1k r / s 我正在ubuntu 10.04.03 LTS上运行一个全新的Apache 2.2.1编译版本。 根服务器有32GB RAM,是一个i7-2600k。 内部networking上的虚拟机箱内可以使用相同的硬件和软件进行testing。 尽pipetesting服务器运行良好,每秒服务约800次的“真实”服务器每秒只能处理大约15次事务。 运行围困:sudo siege -b -c50 -d10 -i http:/ …服务器开始提供文件,但是大约20-40s之后,它会变得越来越慢,直到它几乎停顿。 unix top显示apache进程开始跨度,但很快它们全部消失,而系统只在0.1 – 0.3的平均负载下运行。几乎没有资源被使用。 这个过程大约吃0-1%的CPU。 httpd.conf的configuration与testing服务器上的configuration大致相同。 我也试图改变一些有意义的价值观,但没有帮助。 在遇到与nginx相同的问题后,我用netperf运行了一个networking基准testing,从远程位置成功返回600MB / s,但是从Intranet只有0.13MB 有没有人有一个想法如何解决这个问题。 我维护10年的Linux系统,从来没有见过类似的东西。 感谢您的任何帮助!
我试图find一个干草堆型的问题。 无法在testing服务器上重新创build它。 症状是遗留在ESTABLISHED状态的TCP连接,因此没有被closures。 环境是CentOS上的PHP / Apache / Postgresql 在正常操作下,ESTAB数据库连接数在20以下,而活动的HTTPD进程可以攀升到400的范围。 在故障情况下,ESTAB数据库连接峰值达到configuration的限制值1000,而HTTPD处理计数不会发生显着变化 要确认TCP连接与HTTPD相关,我使用了netstat -nop,然后计算build立到数据库的数量。 同时我用ps -ef来查看活动HTTPD的数量 我还没有能够赶上失败,但还没有尝试对HTTPD进行分析。 对我来说,TCP连接应该在HTTPD退出的情况下结束。 我研究过TPC孤儿,但似乎只适用于连接尝试closures。 日志文件似乎没有任何与此问题相关的活动。 我正在设定较高的日志级别,以查看更详细的信息是否会给我一些线索。 当拥有进程消失时,是否有其他人进入TCP连接,不会closures?
我们正在linux apache web服务器上运行一个PHP应用程序。 我们如何保护服务器,所以如果有人在我们的应用程序中发现一个漏洞,他们只能访问应用程序(www文件夹内的文件),而不是服务器的其余部分? 如何确保运行如下命令:exec('/ usr / sbin / adduser -p password test') 读configuration文件,日志文件呢? /雅各布