最近同事從訪問日志和統計分析中發現有一些400報錯和一些錯誤網頁,我們自己訪問也打不開,是網址有問題,我翻看了以前寫的博客《百度對網址二次編碼的問題》,問題很類似。
以前的錯誤網址:
https://tw.chahaoba.com/%25E8%25AE%25A8%25E8%25AE%25BA:80004911
.htaccess中寫的跳轉規則:
RewriteCond %{REQUEST_URI} ^(.*)%(.*)$ RewriteRule ^.*$ https://%{HTTP_H
這是 Apache 分類的頁面,點擊下面标題查看詳細文章内容:
最近同事從訪問日志和統計分析中發現有一些400報錯和一些錯誤網頁,我們自己訪問也打不開,是網址有問題,我翻看了以前寫的博客《百度對網址二次編碼的問題》,問題很類似。
以前的錯誤網址:
https://tw.chahaoba.com/%25E8%25AE%25A8%25E8%25AE%25BA:80004911
.htaccess中寫的跳轉規則:
RewriteCond %{REQUEST_URI} ^(.*)%(.*)$ RewriteRule ^.*$ https://%{HTTP_H
去年就開始使用CloudFlare為網站加速,因為當時那個網站與訪問者IP地址關系不大,所以沒有特别處理CDN代理IP和訪問者真實IP。今年添加的一個網站在做爬蟲屏蔽的時候與用戶真實IP有關,臨時可以用簡易的方式在PHP程序中獲取:
if (isset($_SERVER['HTTP_CF_CONNECTING_IP'])) { $_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_CF_CONNECTING_IP']; } elseif (isset($_SERVER['
我們使用的MediaWiki和Drupal都支持LAMP架構,安裝包中都帶有一個默認的.htaccess來支持Apache的設置,我們雖然以前也看過文章建議有服務器完整權限的用戶不要用.htaccess而是使用httpd.conf,但為了修改.htaccess随時生效就偷懶沒有把.htaccess中的設置遷移到httpd.conf中。
最近把幾台國外服務器從8核CPU、16G内存升級為12核高主頻CPU、48G内存,在花錢添置硬件性能的同時,也考慮到通過其它軟件的辦法來讓網站訪問更快,找了幾篇文章:
我們的Web服務器使用Apache有十年了,一直使用LAMP架構來做網站。很早也知道Nginx,據說性能上有明顯優勢,但怕麻煩就一直沒有嘗試。
最近有個網站在與某互聯網大廠做合作對接,對方要求我們的API接口速度上達到99分位在300ms以内、可靠性上達到99.9%以上,我們初期測試是很難達到的,後來商議了各種措施來優化和保障,其中就說到使用一個單獨的Nginx為對方提供API接口。
于是4月初就在服務器上安裝了一套Nginx,測試速度還是有明顯改善的,而且與其它網站使用的Apache獨立開來,在穩定性上也更有保證,下面來記錄一下安裝和使用的一些要
Apache Rewrite是我們在網上中設置一些網址重定向常用的辦法,我們在使用php程序替代robots.txt和sitemap.xml以及https替換http的時候都有用到。
其中robots.txt顯示robots.php内容的部分是這樣設置的:
# Rewrite robots.txt RewriteCond %{REQUEST_URI} ^\/robots\.txt$ RewriteRule ^(.*)$ /robots.php [L]
反采集一直都是我們需要進行的工作,特殊是國内互聯網行業抄襲風氣太盛,其實我們不介意這些采集者把我們原創内容采過去,反正采集者也影響不了我們自己多少,但老是導緻我們服務器資源過載就很煩了。
以前一般用“Apache中設置屏蔽IP地址和URL網址來禁止采集”,高級一些的用法記錄在“識别User Agent屏蔽一些Web爬蟲防采集”,中途還專門“自己編寫網站防采集程序”,但用起來也有些不完善。
這兩個月提交百度熊掌号、MIP/AMP後,正常的爬蟲多起來,流量也多一些,跟着
這些天接觸了解SSL證書後,寫了一篇《申請免費的SSL證書,開通https網站》博文,其中簡單記錄了Apache的設置,後來又涉及到多個域名、泛域名解析、通配符SSL證書、單服務器/多服務器、IP、端口等方方面面,去查了一些資料才在Apache上配置成功,幹脆重新寫一篇博文來記錄。
先寫各種可能的情況:
一個系列網站從drupal 6升級到drupal 7後日志中發現大量報錯,都是以前可以正常訪問的網址現在找不到了,發現以前drupal 6中是這樣的:
http://ut.mingluji.com/business_directory/Western_Heating_%2526_Air_Conditioning
在google搜索中也是上面這樣的網址,但升級後以上訪問成了404 not found,而用下面這樣的網址可以訪問:
http://ut.mingluji.com/business_direc
Apache的httpd進程數量是個老問題,最開始使用Linux獨立服務器的時候就摸索修改過。後來新購入服務器托管、租用國外服務器都是硬件配置相當強的,這個地方也都修改過。
不過前一陣子搬遷到阿裡雲服務器的時候,同事并沒有修改這個地方,部分網站搬遷後感覺變慢了,而帶寬、CPU等資源都沒有用充分,後來在阿裡雲監控中檢查發現httpd進程會達到一個限制平頂,再才排查原來是httpd最大連接數量沒有修改。
最近又搬遷網站增加了阿裡雲服務器,以後估計還會搬遷、增加,所以專門記錄在博客中:
步驟一:先修改./apache/co
這些年在使用MediaWiki和Drupal過程中難免要用到Apache的重寫規則,最基本的是用于網址簡潔化,去掉那些index.php?title=之内的東西,後來也用于跳轉手機版判斷、屏蔽采集者、糾正引導報錯網址等,可以說是一個非常有力的工具,基本上是沒法離開。
但在做一些臨時性、測試性修改的時候,偶爾會忘記改還原而導緻出現問題,例如因為服務器負載過高而臨時屏蔽某個搜索引擎的User-Agent,後來忘記還原了導緻搜索引擎爬蟲無法抓取、收錄量急劇下降等,如果能在臨時設置的時候就限定時間就好,以前這樣想過,但一直沒有找辦法。
今天在網
2002-2023 v11.7 a-j-e-0