我使用本地代理使用apache2做一些开发工作(OSX 10.8): SSLProxyEngine on ProxyPass /app https://my.server.org/app ProxyPass /web https://my.server.org/web 一切工作正常,除了Apache2的一些如何覆盖HTML文件的content-type响应头。 如果我请https://my.server.org/app/index.html内容types是text/html ,而http://localhost/app/index.html我看到正确的页面,但内容type设置为text/plain使浏览器显示未呈现的html代码。 它似乎只发生在html文件。 为什么发生这种情况?
当tomcat6启动时,所有的http请求都被服务器保留,并在服务器启动时发送响应。 但是当我使用apache2作为代理的时候,apache2在tomcat启动的时候会响应503错误。 我怎样才能防止这个默认的Apache代理的行为? 我的apache虚拟主机configuration如下所示: <VirtualHost 0.0.0.0:[PORT]> ProxyPreserveHost On ProxyVia full <proxy> Order deny,allow Allow from all </proxy> ProxyPass /[PATH] http://localhost:8080/[PATH2] ProxyPassReverse /[PATH] http://localhost:8080/[PATH2] </VirtualHost>
我最近安装了OpenBSD,去检查Apache HTTPD的版本,当我运行httpd -v它告诉我版本是Apache/1.3.29 (Unix) 。 当然这不可能是正确的? 我正在使用最新版本的OpenBSD(5.3),Apache SO为什么过时了一个基于安全的操作系统呢?
当我尝试在我的机器上访问我的网站时,我收到Firefox中标题中提到的错误。 这是我得到的错误: An error occurred during a connection to www.st.um. SSL peer was unable to negotiate an acceptable set of security parameters. (Error code: ssl_error_handshake_failure_alert) 这是我的虚拟主机configuration: <VirtualHost *:443> ServerAdmin [email protected] ServerName www.st.um DocumentRoot /var/www/web <Directory /var/www/web> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> SSLEngine on SSLCertificateFile /usr/lib/ssl/demoCA/servercert.pem SSLCertificateKeyFile /usr/lib/ssl/demoCA/serverkey.pem SSLCACertificateFile […]
我在Google上进行了大量search,并浏览了我能在Server Fault上find的内容,但找不到任何解决方法。 我有一个运行LXC容器的服务器(现在两个,都是Ubuntu)。 LXCnetworking桥接(10.0.3.0/24),DHCP服务器为10.0.3.1,我使用该networking的两个IP:10.0.3.2(容器1 [CN1])和10.0.3.3 (容器2 [CN2])。 我在Apache上设置了Apache,并且在DNS上为我的公有IP(web1 – > CN1和web2 – > CN2)设置了一个子域名。 子域名可以正确parsing,但这里是问题出现的地方。 根据我在iptables中首先使用哪个规则确定哪个容器被网页命中。 因此,如果我有外部端口80首先命中CN1,那么显示该index.html文件,如果首先为CN2设置80,那么index.html文件显示。 我想我要做的就是设置Apache服务器在不同的端口上侦听,所以我设置CN1在801和CN2上侦听802,然后设置iptables将路由外部端口80路由到这两个端口,但同样的问题仍然存在。 我的最终目标是让web1和web2显示各自的index.html文件,而不指定特定的外部端口(即:IP:81-> CN1和IP:82-> CN2)。 只有其他的东西我可以想到的是在主机上设置一个代理(即:nginx),并根据请求的(子)域请求代理请求,但我宁愿不这样做,如果可能的话。 iptables规则: NAT表 root @ SKYNet:〜#iptables -t nat -L 连锁PREROUTING(政策接受) 目标人select源目的地 DNAT tcp – 在任何地方tcp dpt:http到:10.0.3.2:801 DNAT tcp – 在任何地方tcp dpt:http到:10.0.3.3:802 连锁input(政策接受) 目标人select源目的地 链式输出(策略ACCEPT) 目标人select源目的地 连锁POSTROUTING(政策接受) 目标人select源目的地 MASQUERADE全部 – 10.0.3.0/24任何地方 默认表 root @ SKYNet:〜#iptables […]
我在Linux Mint 13 Maya上用php5运行apache2。 我已经定义了一个虚拟主机和这两个条目: ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined 这会在var/log/apache2产生错误和访问日志。 我想让我的PHP错误进入PHP错误日志。 在我的/etc/php5/apache2/php.ini我已经设置: display_errors = On log_errors = On error_log = /var/log/php-errors.log log_errors_max_len = 0 error_reporting = E_ALL | E_STRICT 生成了日志文件/var/log/php-errors.log ,但是它所logging的是两个警告,一些模块已经加载。 我试图在虚拟主机defintion中注释掉日志指令,但是这并没有改变,所有的错误仍然logging在Apache日志中。 我在这里错过了什么?
我在AIX 6.1上用GCC 4.2.0编译Apache 2(2.2.11 yeh,它的旧版本,但是它的一个要求)。 我正在使用configuration选项: ./configure \ –enable-module=rewrite\ –enable-module=log_referer\ –with-included-apr \ –enable-proxy \ –enable-ssl=shared \ –with-ssl=/usr \ –prefix=/PATH/apache \ –enable-so \ –enable-mods-shared="proxy proxy_http proxy_connect headers mod_proxy mod_ssl" make和make install进程之后的configuration都运行了,没有任何错误。 但是,当我看到int / PATH / modules目录的模块目录时,没有创build.so文件。 可悲的是,由于我所做的事情和我所处的业务的性质,我被locking在所描述的软件版本中。
在Apache 2.2.22中,我尝试运行两个具有两个IP地址和两个SSL证书的虚拟主机。 在configuration虚拟主机的文件以外的任何其他configuration文件中,我没有关于监听端口或NameVirtualHost的信息。 在这个工作的过程中,我希望有最less量的代码。 在site-available目录中,我有site1.com的configuration文件: NameVirtualHost 1.1.1.1:80 Listen 1.1.1.1:80 Listen 1.1.1.1:443 <VirtualHost 1.1.1.1:80> ServerAdmin [email protected] ServerName site1.com ServerAlias www.site1.com RewriteEngine On RewriteCond %{SERVER_PORT} !443 RewriteRule (.*) https://www.site1.com/ [R] </VirtualHost> <VirtualHost 1.1.1.1:443> ServerName site1.com ServerAlias www.site1.com DocumentRoot /home/j/site1/public SSLEngine On SSLCertificateFile /etc/apache2/ssl/site1.com.crt SSLCertificateKeyFile /etc/apache2/ssl/site1.com.key SSLCertificateChainFile /etc/apache2/ssl/gd_bundle_site1.crt LogLevel warn ErrorLog /home/j/site1/log/error.log CustomLog /home/j/site1/log/access.log combined </VirtualHost> 如果site1.com是唯一启用的站点,则服务器启动正常。 当我启用site2.com时,我遇到了麻烦。 […]
我希望有以下事情发生: http://www.example.com/wiki是http://www.example.com的代理:8090/ http://www.example.com/是http://www.example.com的代理:8080/ 我有以下的Apacheconfiguration。 但是,这既有http://www.example.com/也有http://www.example.com/wiki是http://www.example.com:8080/的代理。 我怎样才能纠正这一点? <VirtualHost *:80> ProxyRequests Off ProxyPreserveHost On <Proxy /wiki> Order allow,deny Allow from all </Proxy> ProxyPass /wiki http://www.example.com:8090/ ProxyPassReverse /wiki http://www.example.com:8090/ <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass / http://www.example.com:8080/ ProxyPassReverse / http://www.example.com:8080/ </VirtualHost>
如果你正在寻找一个挑战…你已经find了它。 每天07:01:30 – 07:03:00我的apache安装崩溃。 就在那个时候。 一天中的其他时间运行良好。 我已经有了这个问题了大约一年,search了几个小时,并尝试了很多东西。 我的猜测是在这个时间安排的。 到目前为止,我还没有find它。 现在你要说,哦,看看这个链接你懒人! 刚刚达到最大客户端设置! 相信我,我有,但不幸的是,在这个网站或任何其他网站上的解决scheme都没有工作。 现在要补充一点,对我来说,神秘的一天,服务器运行非常好。 只是在〜07:01它崩溃与下面的错误。 我得到的错误是:[Sun Jul 28 07:01:30 2013] [错误]服务器达到MaxClients设置,考虑提高MaxClients设置[错误]服务器达到MaxClients设置,考虑提高MaxClients设置[Tue Jul 30 07:01:54 2013] [错误]服务器达到MaxClients设置,考虑提高MaxClients设置 通知星期一略有偏离。 这是因为,在7:01:00我做了一个服务apache2重新启动。 它只是让这个崩溃晚了一点。 咦? 也许是一种侥幸…我根本不明白这一点。 我用apachetop检查stream量。 就在得到这个错误之前,网站上的用户不是很多,大概是10-20。 然而,在晚上,我们可以在同一时间获得呃访客。 我见过Apache处理高达100请求/秒! 问题根本不在于服务器到达MaxClients,因为上午7点对于站点来说是非常安静的时间。 访问日志没有什么特别的。 点击几下点击。 所以在我看来,这不可能是一个存在问题。 这几乎不会在每天的同一时间引起崩溃。 这不可能是一个攻击,因为为什么这是每天早上七点一年? 另外,日志实际上不显示任何types的stream量。 这是我已经试过并检查: – 提高maxclients设置(高达512.是的,也是ServerLimit)。 使其低得多。 没有任何工作 – 减less了Apacheconfiguration中的keepalive时间。 – 使用haproxy将所有资源(js,css,图像)移至另一台使用nginx的服务器。 这不是要求的数量! – 升级Ubuntu到12.04。 – 尝试每种工具来检查我的apacheconfiguration […]