apache反向代理增加和修改header,以便于判断https
[ 2022-12-10 14:57:19 | 作者: admin ]
p.s. 因为老服务器用apache加https,然后反向代理iis6上的http,因为http和https都允许访问,所以这个时候就无法判断当前用户访问是http还是https了。在apache的反向代理配置前增加header能实现这个判断。
1、配置中 mod_headers 前去掉注释
2、代理配置前增加
程序代码中可以使用 $_SERVER["HTTP_HTTPS"] 来获取
参考:https://www.php.cn/manual/view/17877.html
1、配置中 mod_headers 前去掉注释
2、代理配置前增加
RequestHeader unset HTTPS
RequestHeader append HTTPS "on"
RequestHeader append HTTPS "on"
程序代码中可以使用 $_SERVER["HTTP_HTTPS"] 来获取
参考:https://www.php.cn/manual/view/17877.html
win2003服务器中apache2.4重启造成apache假死问题解决方法
[ 2020-11-16 11:07:33 | 作者: admin ]
运行环境:
apache2.4 + mod_fcgid + php5.4 nts
故障现象:
修改httpd.conf之后重启apache,出现apache假死,访问网站无响应。
分析日志:
出现大量 mod_fcgid: can't apply process slot for php-cgi.exe 错误,看来是php-cgi.exe进程数满不能增加新的进程导致。
看上去似乎可以增加配置文件中 FcgidMaxProcesses 参数来增加进程,但是此服务器内存不大,数十万PV应该还不至于。一个php-cgi进程占15M内存,200个进程需要3G内存。实际上目前的进程数量是够用的,问题是重启apache的时候,php-cgi进程没有自动结束,应该是受制于它自己的生命周期。虽然进程失效却不能马上结束,所以导致新进程不能产生,旧进程又失效了。
解决办法:
...
阅读全文…
apache2.4 + mod_fcgid + php5.4 nts
故障现象:
修改httpd.conf之后重启apache,出现apache假死,访问网站无响应。
分析日志:
出现大量 mod_fcgid: can't apply process slot for php-cgi.exe 错误,看来是php-cgi.exe进程数满不能增加新的进程导致。
看上去似乎可以增加配置文件中 FcgidMaxProcesses 参数来增加进程,但是此服务器内存不大,数十万PV应该还不至于。一个php-cgi进程占15M内存,200个进程需要3G内存。实际上目前的进程数量是够用的,问题是重启apache的时候,php-cgi进程没有自动结束,应该是受制于它自己的生命周期。虽然进程失效却不能马上结束,所以导致新进程不能产生,旧进程又失效了。
解决办法:
...
阅读全文…
Apache服务器.htAccess rewrite伪静态时匹配url里的中文或http网址
[ 2020-06-09 13:44:04 | 作者: admin ]
p.s. 涉及伪静态参数中有网址或者中文的,需要进行2次urlencode,因为apache伪静态前会自动urldecode一次
配置Apache的伪静态,涉及到中文正则不能匹配,
匹配中文字符的正则表达式: [\u4e00-\u9fa5]
匹配双字节字符(包括汉字在内):[^\x00-\xff]
也试了,也不能匹配。
尝试匹配所有字母数字加上% ([a-zA-Z0-9_%]+)
也没有成功,查到Apache执行url会自动进行一次urldecode,传的值会还原成中文的,也不能匹配。
后来想到,把值进行两次 urlencode ,取的时候再进行两次 urldecode 用([a-zA-Z0-9_%]+)
就可以匹配了。
配置Apache的伪静态,涉及到中文正则不能匹配,
匹配中文字符的正则表达式: [\u4e00-\u9fa5]
匹配双字节字符(包括汉字在内):[^\x00-\xff]
也试了,也不能匹配。
尝试匹配所有字母数字加上% ([a-zA-Z0-9_%]+)
也没有成功,查到Apache执行url会自动进行一次urldecode,传的值会还原成中文的,也不能匹配。
后来想到,把值进行两次 urlencode ,取的时候再进行两次 urldecode 用([a-zA-Z0-9_%]+)
就可以匹配了。
win2003下apache2.2 close_wait 过多导致无法响应的问题
[ 2020-06-04 13:08:06 | 作者: admin ]
p.s. win2003下fastcgi方式安装apache后也遇到些问题,做个记录。一般情况下可以依据apache和php的错误日志来做一些调整,看看修改的结果。
1、连接状态中 close_wait 太多的问题,apache服务器无响应
解决办法:
a、windows网卡防火墙的设置
windows防火墙中把80,443,apache放入例外,另外防火墙高级中选中http和https。
b、修改apache配置文件httpd.conf,加入下面语句
2、并发连接数太多,导致服务器无响应
...
阅读全文…
1、连接状态中 close_wait 太多的问题,apache服务器无响应
解决办法:
a、windows网卡防火墙的设置
windows防火墙中把80,443,apache放入例外,另外防火墙高级中选中http和https。
b、修改apache配置文件httpd.conf,加入下面语句
EnableMMAP off
EnableSendfile off
AcceptFilter http none
AcceptFilter https none
Win32DisableAcceptEx
EnableSendfile off
AcceptFilter http none
AcceptFilter https none
Win32DisableAcceptEx
2、并发连接数太多,导致服务器无响应
...
阅读全文…
apache Alias使用问题
[ 2020-06-03 13:11:26 | 作者: admin ]
今天在配置apache的过程中,使用了Alias,但是由于配置错误导致403 forbidden错误,不能正常访问。
首先理解一下Alias,Alias就是别名的意思,假如我的项目目录在/home/web/test 下,可以通过配置的域名http://blog.xg98.com/xxx 可以正常访问test目录下的所有内容,但是在项目开发过程中,由于一些原因导致一些文件想存放于/home/web/statics下,但是也想通过
http://blog.xg98.com/statics/xxx ,访问位于/home/web/statics 下的文件,就可以使用apache提供的Alias了。
其次,使用Alias非常方便的就可以实现上面的需求了,通过在刚在配置的test.com域名的vhosts中进行添加
apache2.2[code][/code]...
阅读全文…
首先理解一下Alias,Alias就是别名的意思,假如我的项目目录在/home/web/test 下,可以通过配置的域名http://blog.xg98.com/xxx 可以正常访问test目录下的所有内容,但是在项目开发过程中,由于一些原因导致一些文件想存放于/home/web/statics下,但是也想通过
http://blog.xg98.com/statics/xxx ,访问位于/home/web/statics 下的文件,就可以使用apache提供的Alias了。
其次,使用Alias非常方便的就可以实现上面的需求了,通过在刚在配置的test.com域名的vhosts中进行添加
apache2.2[code][/code]...
阅读全文…
apache配置上传目录禁止运行php的方法
[ 2020-06-03 13:05:48 | 作者: admin ]
p.s. 这个是apache2.2的语法,apache2.4
安全防护网站上传功能里引发安全问题很多很多,你做好安全防护了吗?
导读: 禁止上传目录运行php等可执行文件可以从一定程度上增加网站的安全性, 禁止上传目录运行php的方法可以用.htaccess文件, 也可以直接在apache服务器上修改配置文件.
第一种禁止上传目录运行php的方法
如果你用的虚拟空间可以用.htaccess文件来限制上传目录运行php。
.htaccess方法A
新建一个.htaccess文件,拷贝下面的内容, 上传到要禁止运行php的文件夹内
<Files ~ ".php">
Order allow,deny...
阅读全文…
AllowOverride None
Options None
Require all granted
Options None
Require all granted
安全防护网站上传功能里引发安全问题很多很多,你做好安全防护了吗?
导读: 禁止上传目录运行php等可执行文件可以从一定程度上增加网站的安全性, 禁止上传目录运行php的方法可以用.htaccess文件, 也可以直接在apache服务器上修改配置文件.
第一种禁止上传目录运行php的方法
如果你用的虚拟空间可以用.htaccess文件来限制上传目录运行php。
.htaccess方法A
新建一个.htaccess文件,拷贝下面的内容, 上传到要禁止运行php的文件夹内
<Files ~ ".php">
Order allow,deny
阅读全文…
win2003下apache运行php的方式 fastcgi方式mod_fcgid 和 isapi方式php5apache2_4.dll
[ 2020-06-03 10:45:18 | 作者: admin ]
p.s. 虽然win2003非常非常悠久,不过资源消耗低,系统稳定,运行小项目绝对没问题,特别是企业站。这里选择apache的原因是可以作为服务运行,比较方便,也支持虚拟目录Alias。并发过高还是老实点转到 centos+nginx。
首先是版本选择,根据https://www.apachelounge.com/download/win32/ 的说法,最后一个支持win2003的是vc10编译版本,可选apache2.2和apache2.4,下方有下载链接。
阅读全文…
首先是版本选择,根据https://www.apachelounge.com/download/win32/ 的说法,最后一个支持win2003的是vc10编译版本,可选apache2.2和apache2.4,下方有下载链接。
Build with Windows® Platform SDK 7.1 and Visual Studio C++ 2010 SP1 aka VC10. VC10 has improvements, fixes and optimizations over VC9 in areas like Performance,
...阅读全文…
Apache服务器错误问题Internal Server Error
[ 2020-06-03 10:42:39 | 作者: admin ]
遇到错误,查日志文件。
三个可以查的地方:
1、apache的错误日志
2、相关模块,如php的错误日志
3、操作系统日志
500 Internal Server Error 一般是模块问题,查php错误日志
三个可以查的地方:
1、apache的错误日志
2、相关模块,如php的错误日志
3、操作系统日志
500 Internal Server Error 一般是模块问题,查php错误日志