Articles of apache 2.2

在CURL中正确设置了CORS头部,但在从浏览器加载页面时没有设置

我有一个使用font-awesome的网站,我想用cloudfront作为CDN(我的网站运行在apache上)。 我已经在这个网站的conf文件中启用了cors。 这里是我的网站的conf文件: <VirtualHost *:80> ServerAdmin [email protected] ServerName spotlessmommy.com ServerAlias www.spotlessmommy.com DocumentRoot /var/www/spotlessmommy <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/spotlessmommy> Options Indexes FollowSymLinks MultiViews AllowOverride ALL Order allow,deny allow from all Header set Access-Control-Max-Age "1000" Header set Access-Control-Allow-Headers "X-Requested-With, Content-Type, Origin, Authorization, Accept, Client-Security-Token, Accept-Encoding" Header set Access-Control-Allow-Methods "POST, GET, OPTIONS, DELETE, PUT" […]

CGI的Apache环境variables没有设置

我正在尝试为Apache Web服务器设置我的环境variables,因为它不是正确的Perl包。 我按照服务器故障中的一个答案的build议来更新httpd文件并添加环境variables,它仍然不起作用。 在我更新httpd文件后,我也弹回了httpd进程。 在命令行中,正确的PATH被用于Perl。 任何人可以提供任何指导? 错误在apache error.log文件中: [pid 29460] [client 10.199.106.141:57768] AH01215: install_driver(Informix) failed: Can't locate DBD/Informix.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at (eval 7) Perl应该检查Perl模块的Perl的正确位置 /usr/bin/perl 更新了/ etc / sysconfig / httpd文件 #Configuration of variables for webserver export INFORMIXDIR=/opt/informix export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$INFORMIXDIR/lib:$INFORMIXDIR/lib/cli:$INFORMIXDIR/lib/esql:$INFORMIXDIR/lib/tools export INFORMIXSQLHOSTS=$INFORMIXDIR/etc/sqlhosts PATH=$PATH:$HOME/bin:$INFORMIXDIR/bin:$LD_LIBRARY_PATH export PATH 其他环境variables […]

在CentOS服务器上全新安装后,无法访问phpBBpipe理员

直接重新安装后,我可以login到pipe理员,但是当我注销并尝试login后,我不能。 没问题随时login董事会,到用户界面…当我点击Administration Control Panel总是我得到了一个黑色的白色屏幕,一个错误消息: 禁止| 您无权访问此服务器上的/adm/index.php。 如果我input正确的pipe理url,也可以这样做: http : //www.example.com/adm/index.php 。 服务器选项有问题吗? 如何解决这个问题? 如果我尝试运行一个phpinfo.php也给出一个相同的错误消息…(phpBB的phpinfo工作,并告诉我的细节…) Centos6,Cgi / FastCgi,php5.4和php5.5(PHPselect器),禁用SeLinux,文件权限是644和755。

我应该如何设置我的子域以允许它监听端口进行networking套接字传输?

这可能是一个真正的初学者问题,但我真的想确保在投入时间之前,我正朝着正确的方向前进。 下面是我的。 charlieli.me @ 45.55.33.185:80 fileserver.charlieli.me @ 45.55.33.185:80 fileserver.conf <VirtualHost *:80> ServerName fileserver.charlieli.me ServerAdmin [email protected] ServerAlias fileserver.charlieli.me DocumentRoot /var/www/fileserver <Directory /var/www/fileserver> # enable the .htaccess rewrites AllowOverride All Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/error_orlybg.log CustomLog ${APACHE_LOG_DIR}/access_orlybg.log combined </VirtualHost> 我的主域的虚拟主机是45.55.33.185端口80,我的子域fileserver.charlieli.me也configuration为45.55.33.185端口80。 在我的子域,我想打开一个Web套接字发送文件远程存储和检索。 在我的登陆网站的configuration,它的configuration为80端口,这是否意味着我必须通过端口80听/接收/响应,或者我可以指定另一个端口像9090顶部打开我的websocket程序并从文件服务器接收数据.charlieli.me:9090? 在我的configuration文件中的“虚拟主机”地址是否真的意味着我的主要和子域是真的共享相同的一组端口,我可以访问我的9090端口,即使从charlieli.me:9090渲染子域是多余的?

apache suexec + php + fcgid不会logging错误

奇怪我的apache不会logging错误,因为我设法启用fcgid和suexec进行php处理。 即使简单的文件只有<? dwakdnawjkdn(); ?> <? dwakdnawjkdn(); ?> <? dwakdnawjkdn(); ?>不会产生任何错误,即使它们返回500错误。 我的configuration: fastcgi.logging设置为1 。 fcgid.conf: <IfModule mod_fcgid.c> DefaultMinClassProcessCount 0 IdleTimeout 300 IdleScanInterval 30 MaxProcessCount 15 MaxRequestsPerProcess 500 PHP_Fix_Pathinfo_Enable 1 </IfModule> 虚拟主机: <VirtualHost *:80> DocumentRoot "/var/www/mysite/web" ServerName mysite.tld ServerAlias mysite.tld SuexecUserGroup mysite mysite AddHandler fcgid-script .php <Directory "/var/www/mysite/web"> FCGIWrapper /var/www/mysite/cgi-bin/fcgi-conf <FilesMatch \.php$> SetHandler fcgid-script </FilesMatch> AllowOverride All […]

只redirect根目录而不更改Apache中的URL

我只将来到根目录的请求redirect到同一服务器中的子文件夹。 现在我想在redirect期间不改变URL。 我的.htaccess看起来像这样 RewriteEngine on RewriteBase / RewriteCond %{HTTP_HOST} !^m\. RewriteRule ^$ /myFolder [R,L] 我试图添加P作为一个选项,但它没有帮助。 如何做呢?

configurationApache以提供正确的证书链

我正在Red Hat 6.3上运行Apache 2.2.15,并且无法使证书链正常工作。 我正在使用我的组织PKI进行证书签名等,这不会将其根证书发布到Internet上。 所以,我正在使用指令SSLCertificateFile , SSLCertificateKeyFile和SSLCertificateChainFile 我使用openssl genrsa创build了我的2048位RSA密钥,然后使用openssl从此密钥创build请求,并使用我们的Windows 2008 R2 CA对其进行签名。 我用SSLCertificateFile指向这个签名的证书文件。 我有的问题是链文件。 我有PEM格式的根证书,中间证书和服务器证书,并尝试了各种这些(连接文本文件)组合来创build链文件,例如 root inter server server inter root inter root root inter 这些都没有工作 为了testing这个,我正在做以下事情: openssl s_client -connect myserver.com:443 -CAfile root.cer 而我得到的错误是validation返回码:21(无法validation第一个证书) 然而,奇怪的是当我在服务器上运行以下: openssl s_client -connect 127.0.0.1:443 -CAfile root.cer 它工作正常,我得到一个'0'返回代码,并可以看到输出顶部的证书链。 那么发生了什么? 如果没有链文件,我会在Web浏览器中获得挂锁图标,但是我需要在单独的脚本中使用curl来连接它,如果链接不正常,这将无法在安全模式下工作。

用Apache限制每个访问者的xfer字节数

有时候,我会在几个小时内通过下载整个网站(〜2GB)的“leechers”来访问,而普通用户则远远低于50MB。 我想为每个访问者设置一个“字节限制”(例如,允许每天和访问者最多100 MB)。 我已经尝试了mod_cband ,它非常接近我的目标。 不幸的是,我只pipe理了每个VHost的报价,即如果配额被击中,整个VHost就会被封锁。 mod_cband也可以pipe理每个远程IP的配额 – 但为此,我需要事先知道这些IP,而我不知道。 我也看了一下mod_evasive ,我已经在稍微不同的上下文中使用了。 但是这只允许我限制请求的数量,并不考虑“卷”(字节传输)。 有没有“即用型”的解决scheme? 如果我错过了mod_cband的东西,也欢迎提示。 如果一个解决scheme不能绑定到VHost(但将服务器范围内),这也是可以接受的(尽pipe每个VHost是优选的)。 注意我不想限制带宽 (即速度),既不限制同时请求每个IP ; 这不是带宽,而是“抄袭猫”。 编辑:我刚刚发现了Apache ::配额 ,这似乎做了我想要的东西。 但它a)需要mod_perl运行(我不熟悉Perl编码),和b)似乎没有维护(最新版本是v0.04,可以追溯到2007年3月,如果我有那正确)。 Edit2:也欢迎基于mod_security或iptables的解决scheme。 到目前为止,我在这方面发现的只是速度问题,或者限制每个远程IP的连接数量,这不是我所追求的。 编辑3:虽然我已经find了解决scheme的潜在问题(请参阅下面的答案),但我仍然对build立“每个访问者和时间的转移限额”的解决scheme感兴趣,正如我的问题所述 – 因为我的解决scheme不能到处应用(请参阅上述“假设”)。

服务器错误500和数据包丢失

数据包丢失和服务器错误500之间是否有任何依赖关系? 我已经检查了Apache(在CentOS + WHM / cPanel上运行)访问日志为500s,看起来像是随机发生,没有任何主要原因。 另外我注意到,外层交换机正在产生冲突,这可能与该networking上的丢包有关。 在大多数情况下,它似乎有人得到500,然后重新加载页面和页面加载。 一个500错误的Apache访问日志的例子 157.55.39.112 – – [25/Sep/2015:10:20:45 -0400] "GET /meet-the-staff-finance-administration-technology-ud-3173/ HTTP/1.1" 500 70432 "-" "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)" 和错误日志中的相关错误 [Fri Sep 25 10:21:50 2015] [error] [client 157.55.39.112] zend_mm_heap corrupted [Fri Sep 25 10:21:50 2015] [error] [client 157.55.39.112] Premature end of script headers: index.php 但是对于来自访问日志的500错误,错误日志中没有相关的行 54.84.95.88 – – [25/Sep/2015:10:25:47 -0400] […]

apache2 HTTPS到HTTP反向代理

我正在设置我认为需要成为Apache 2中的反向代理的东西。 我有Apache设置,我有Mod_proxy,mod_ssl,Mod_rewrite所有启用。 我试图通过其HTTPS网页控制媒体播放器,它不允许http连接。 不幸的是,控制系统不会做Https。 它在技术上甚至不真的做http(它不是一个浏览器)。 尽pipe我可以形成HTTP数据包并parsing响应。 我经常与其他产品做这个。 所以我想要做的是发送一个HTTP请求到我的apache2服务器在192.168.0.17:80,让Apache服务器转发该请求到HTTPS媒体服务器在192.168.0.12:443。 然后将得到的源代码以纯文本forms返回给原始客户端进行parsing。 一旦信息被parsing,我将使用它来填充variables,然后使用这些variables来生成一个http数据包来模拟某个点击特定的GUI元素。 所有的机器都在专用于控制系统的本地networking上,虽然它具有互联网连接,但我不需要代理处理任何来自wan端的请求,实际上,我只需要代理来处理来自单个本地IP地址。 我知道我需要设置一个这样的虚拟主机文件 <VirtualHost 1.2.3.4:80> ServerName foo.com SSLProxyEngine On SSLProxyCheckPeerCN on SSLProxyCheckPeerExpire on ProxyPass / https://secure.bar.com ProxyPassReverse / https://secure.bar.com 但只是不知道什么IP信息需要去哪里或什么其他设置,我可能需要改变。 作为一个侧面的问题,是否有脚本的Apache维护在https服务器上的login,并重新authentication,如果会话超时? 我可能会每隔几秒钟就对服务器进行轮询,以获得一些反馈元素,但如果可能的话,将login进程卸载到apache仍然不错 谢谢你的帮助。 我现在有4个小时的覆盆子pi和apache的经验。