SHOW:
|
|
- or go back to the newest paste.
| 1 | - | # Ctl+A, Ctrl+C open /etc/nginx/nginx.conf , Ctrl+V, Ctrl+S. Have a nice day! |
| 1 | + | 28.01.2019 Config for Nginx >= 1.11.10 https://habrahabr.ru/post/282554/ |
| 2 | - | # 01.17.2020 Config for Nginx >= 1.12.10 https://nginx.org/ru/download.html |
| 2 | + | # Полный мануал настройки http://pastebin.com/v0VKjKXW |
| 3 | - | # Полный мануал настройки http://pastebin.com/v0VKjKXW |
| 3 | + | |
| 4 | # v 1.4.3 fast server http://vk.cc/7BSP3h | |
| 5 | - | # fast server Cервера здесь берем http://vk.cc/7BSP3h (Топовая техподдержка в комплекте!) |
| 5 | + | |
| 6 | # - 1.4.3 Исправление cookies, корректная работа с движками bitrix и wordpress | |
| 7 | # | |
| 8 | - | # - 1.4.3 Исправление cookies (/home/admin/tmp), корректная работа с движками bitrix и wordpress |
| 8 | + | |
| 9 | # Nginx (Измения в версиях http://nginx.org/ru/CHANGES.ru ) port 80 -> Apache port 81 | |
| 10 | # - !Settings! !ВАЖНО! прописать свой ip в местах где #Указать IP сервера \ Web.Server.IP <<<<<-!!! | |
| 11 | # - Динамическое определение доменов(поддоменов) и их директорий, и алиасов. (Настроено под VestaCP, если не угодно - поменяйте) | |
| 12 | - | # # - !Settings! !ВАЖНО! прописать свой ip в местах где #Указать IP сервера \ Web.Server.IP <<<<<-!!! |
| 12 | + | |
| 13 | # - Защита картинок и файлов отдающихся nginx от хотлинкинга | |
| 14 | # - Защита от сторонних ботов, для снижения нагрузки | |
| 15 | # - SSl убран на apache2 , если надо сами настраивайте ) | |
| 16 | # | |
| 17 | #Дополнительно: помещаем кэш nginx в ramdisk (tmpfs) | |
| 18 | #Сейчас у нас кэширование настроено, но кэш хранится на жестком диске, что не является хорошим решение. Оптимальнее будет смонтировать директорию с кэшем nginx в память. | |
| 19 | #Для этого откроем | |
| 20 | #nano/etc/fstab | |
| 21 | #и добавим туда: | |
| 22 | #tmpfs /var/lib/nginx/cache tmpfs nodev,nosuid,size=20M 0 0 | |
| 23 | #Если в настройках nginx вы указали больший размер кэша, то параметр size необходимо изменить в соответствии с указанным размером кэша (max_size), плюс небольшой запас. | |
| 24 | #Сразу смонтируем директорию в память: | |
| 25 | #sudo mount -a | |
| 26 | #service nginx restart; service apache2 restart; reboot; | |
| 27 | #Теперь при каждой загрузке системы, директория /var/lib/nginx/cache будет помещаться в память, что должно уменьшить время отдачи страницы. | |
| 28 | # | |
| 29 | # Test VPS !KVM 1x1024RAM 20Gb SSD | |
| 30 | ## ab -r -n 10000 -c 10000 http://site.com/ | |
| 31 | #Failed requests: 0 | |
| 32 | #Connection Times (ms) | |
| 33 | # min mean[+/-sd] median max | |
| 34 | #Total: 530 644 66.0 646 758 | |
| 35 | ################################################# | |
| 36 | ||
| 37 | ########## Server globals ###### | |
| 38 | user www-data; #имя пользователя от которого работает nginx | |
| 39 | ||
| 40 | - | user www-data; #имя пользователя от которого работает nginx так же и апач |
| 40 | + | |
| 41 | worker_cpu_affinity auto; | |
| 42 | ||
| 43 | timer_resolution 100ms; #Уменьшает разрешение таймеров времени в рабочих процессах, за счёт чего уменьшается число системных вызовов | |
| 44 | worker_rlimit_nofile 65192; #Изменяет ограничение на максимальное число открытых файлов (RLIMIT_NOFILE) для рабочих процессов | |
| 45 | worker_priority -5; #Выставляем более высокий приоритет процессу воркера | |
| 46 | ||
| 47 | error_log /var/log/nginx/error.log; | |
| 48 | pid /var/run/nginx.pid; | |
| 49 | ||
| 50 | ||
| 51 | ######### Worker config ####### | |
| 52 | events {
| |
| 53 | worker_connections 20048; # Максимальное количество подключений на процесс | |
| 54 | use epoll; | |
| 55 | ||
| 56 | - | use epoll; |
| 56 | + | |
| 57 | } | |
| 58 | ||
| 59 | http {
| |
| 60 | #не более 2 запроса в секунду со всплесками не более 5 запросов. | |
| 61 | limit_req_zone $binary_remote_addr zone=perip:10m rate=2r/s; | |
| 62 | #не более 10 запросов в секунду. | |
| 63 | limit_req_zone $server_name zone=perserver:10m rate=10r/s; | |
| 64 | ||
| 65 | map "$request_method" $block { default 0; "~(HEAD|GET)" 1; "~POST" 2;}
| |
| 66 | ||
| 67 | - | map $http_user_agent $agent {default 0; "~AppEngine" 1; "~360Spider" 1; "~8484\ Boston\ Project" 1; "~Accelerator" 1; "~AESOP" 1; "~Ahrefs" 1; "~AhrefsBot" 1; "~Alexibot" 1; "~almaden" 1; "~Anarchie" 1; "~Anonymouse.org" 1; "~Ants" 1; "~ApacheBench" 1; "~Aport" 1; "~AppEngine" 1; "~Applebot" 1; "~Aqua_Products" 1; "~archive" 1; "~Ask\ Jeeves" 1; "~ASPSeek" 1; "~asterias" 1; "~Atomic_Email_Hunter" 1; "~atSpider" 1; "~attach" 1; "~autoemailspider" 1; "~b2w" 1; "~BackDoorBot" 1; "~BackWeb" 1; "~BaiduBot" 1; "~Baiduspider" 1; "~bandit" 1; "~Bandit" 1; "~BatchFTP" 1; "~Bigfoot" 1; "~Birubot" 1; "~Black\ Hole" 1; "~BlackWidow" 1; "~BLEXBot" 1; "~BlowFish" 1; "~Bookmark\ search\ tool" 1; "~BotALot" 1; "~bsalsa" 1; "~Buddy" 1; "~BuiltBotTough" 1; "~BullsEye" 1; "~bumblebee" 1; "~BunnySlippers" 1; "~Butterfly" 1; "~Buzzbot" 1; "~BuzzSumo" 1; "~bwh3_user_agent" 1; "~CamontSpider" 1; "~CCBot" 1; "~Cegbfeieh" 1; "~CheeseBot" 1; "~CherryPicker" 1; "~China" 1; "~ChinaClaw" 1; "~CICC" 1; "~clsHTTP" 1; "~coccoc" 1; "~Collector" 1; "~CommentReader" 1; "~ContactBot" 1; "~ContentSmartz" 1; "~Copernic" 1; "~Copier" 1; "~CopyRightCheck" 1; "~cosmos" 1; "~crazy" 1; "~Crescent" 1; "~сurl" 1; "~Сurl" 1; "~Custo" 1; "~DataCha0s" 1; "~dataminr" 1; "~DBrowse" 1; "~Demo\ Bot" 1; "~DeuSu" 1; "~Digincore" 1; "~DIIbot" 1; "~DISCo" 1; "~discobot" 1; "~Dispatch" 1; "~dit" 1; "~DittoSpyder" 1; "~Dolphin" 1; "~DomainSigma" 1; "~DomainTools" 1; "~DotBot" 1; "~Download\ Demon" 1; "~Download\ Devil" 1; "~Download\ Wonder" 1; "~Downloader" 1; "~dragonfly" 1; "~Drip" 1; "~DSurf15" 1; "~DuckDuckGo" 1; "~EasyDL" 1; "~ebingbong" 1; "~EBrowse" 1; "~eCatch" 1; "~Educate\ Search\ VxB" 1; "~EirGrabber" 1; "~email" 1; "~EmailCollector" 1; "~EmailSiphon" 1; "~EmailSpider" 1; "~EmailWolf" 1; "~Embedly" 1; "~EroCrawler" 1; "~ESurf15" 1; "~Exabot" 1; "~Express\ WebPictures" 1; "~Extractor" 1; "~EyeNetIE" 1; "~Ezooms" 1; "~facebookexternalhit" 1; "~FairAd\ Client" 1; "~FairShare" 1; "~Faraday" 1; "~Favicon" 1; "~Feed
|
| 67 | + | |
| 68 | - | er" 1; "~FileHound" 1; "~filterdb" 1; "~Flaming\ AttackBot" 1; "~FlashGet" 1; "~FlaxCrawler" 1; "~Flexum" 1; "~FlightDeckReportsBot" 1; "~FlipboardProxy" 1; "~flunky" 1; "~Foobot" 1; "~Franklin\ Locator" 1; "~FrontPage" 1; "~FSurf15" 1; "~Full\ Web\ Bot" 1; "~FyberSpider" 1; "~Gaisbot" 1; "~getintent" 1; "~getprismatic" 1; "~GetRight" 1; "~Gets" 1; "~GetSmart" 1; "~GetWeb!" 1; "~gigabaz" 1; "~Gigabot" 1; "~Go 1.1 package" 1; "~Go!Zilla" 1; "~Go-Ahead-Got-It" 1; "~Go-http-client" 1; "~gold crawler" 1; "~gold\ crawler" 1; "~gotit" 1; "~GoZilla" 1; "~Grabber" 1; "~GrabNet" 1; "~GrabSite" 1; "~Grafula" 1; "~GrapeshotCrawler" 1; "~grub" 1; "~grub-client" 1; "~gsa-crawler" 1; "~Guestbook\ Auto\ Submitter" 1; "~Gulliver" 1; "~Harvest" 1; "~help.jp" 1; "~hloader" 1; "~HMView" 1; "~HTMLParser" 1; "~httpdown" 1; "~httplib" 1; "~httrack" 1; "~HTTrack" 1; "~humanlinks" 1; "~hybrid" 1; "~ia_archiver" 1; "~IBrowse" 1; "~IlseBot" 1; "~Image\ Stripper" 1; "~Image\ Sucker" 1; "~Industry\ Program" 1; "~Indy Library" 1; "~Indy\ Library" 1; "~InfoNaviRobot" 1; "~InfoSeek" 1; "~InfoTekies" 1; "~inktomi" 1; "~Intelliseek" 1; "~InterGET" 1; "~Internet\ Ninja" 1; "~InternetLinkagent" 1; "~InternetSeer" 1; "~Iria" 1; "~Iron33" 1; "~ISC\ Systems" 1; "~IUPUI\ Research\ Bot" 1; "~Jakarta" 1; "~Java" 1; "~JBH\ agent" 1; "~JennyBot" 1; "~jetcar" 1; "~JetCar" 1; "~JOC" 1; "~JS-Kit" 1; "~JustView" 1; "~Jyxobot" 1; "~Kenjin\ Spider" 1; "~Keyword\ Density" 1; "~km.ru" 1; "~kmSearchBot" 1; "~Kraken" 1; "~larbin" 1; "~Laserlikebot" 1; "~leech" 1; "~LeechFTP" 1; "~Leikibot" 1; "~LetsCrawl.com" 1; "~LexiBot" 1; "~lftp" 1; "~libWeb" 1; "~libwww" 1; "~Lightspeedsystems" 1; "~likse" 1; "~Lincoln\ State\ Web\ Browser" 1; "~Linguee" 1; "~LinkBot" 1; "~linkdexbot" 1; "~LinkExchanger" 1; "~LinkextractorPro" 1; "~linkfluence" 1; "~LinkpadBot" 1; "~LinkScan" 1; "~LinkSleuth" 1; "~LinkWalker" 1; "~liveinternet" 1; "~LivelapBot" 1; "~LMQueueBot" 1; "~LNSpiderguy" 1; "~LoadImpactPageAnalyzer" 1; "~looksmart" 1; "~ltx71" 1; "~LWP" 1; "~lwp-trivial" 1; "~Mac\ Finder" 1; "~Magnet" 1; "~Mag-Net" 1; "~majestic" 1; "~MarkWatch" 1; "~Mass\ Downloader" 1; "~masscan" 1; "~Mata\ Hari" 1; "~meanpathbot" 1; "~Mediatoolkitbot" 1; "~MegaIndex" 1; "~Memo" 1; "~MetaURI" 1; "~MFC\ Foundation\ Class\ Library" 1; "~mfibot" 1; "~Microsoft\ URL\ Control" 1; "~MIDown\ tool" 1; "~MIIxpc" 1; "~Mirror" 1; "~Missauga\ Loca" 1; "~Missouri\ College\ Browse" 1; "~Mister\ PiX" 1; "~Mizzu\ Labs" 1; "~MJ12bot" 1; "~MLBot" 1; "~Mo\ College" 1; "~moget" 1; "~Mozilla\ Indy" 1; "~Mozilla\ MSIECrawler" 1; "~Mozilla\ NEWT" 1; "~MS\ FrontPage" 1; "~MSFrontPage" 1; "~MSIECrawler" 1; "~MSProxy" 1; "~musobot" 1; "~MVAClient" 1; "~NameOfAgent" 1; "~NAMEPROTECT" 1; "~NASA\ Search" 1; "~Navroad" 1; "~NearSite" 1; "~NerdByNature" 1; "~Net\ Vampire" 1; "~NetAnts" 1; "~Netcraft" 1; "~NetMechanic" 1; "~NetReaper" 1; "~NetSeer" 1; "~NetSpider" 1; "~NetZIP" 1; "~NewShareCounts" 1; "~NextGenSearchBot" 1; "~NICErsPRO" 1; "~NimbleCrawler" 1; "~NING" 1; "~Ninja" 1; "~NjuiceBot" 1; "~NPbot" 1; "~Nsauditor" 1; "~Nutch" 1; "~Nuzzel" 1; "~Octopus" 1; "~Offline" 1; "~Offline\ Explorer" 1; "~Offline\ Navigator" 1; "~omgili" 1; "~omgilibot" 1; "~OmniExplorer_Bot" 1; "~Openbot" 1; "~Openfind" 1; "~OpenHoseBot" 1; "~openstat" 1; "~openstat.ru" 1; "~OptimizationCrawler" 1; "~Oracle\ Ultra\ Search" 1; "~OutfoxBot" 1; "~PageGrabber" 1; "~PageSaver" 1; "~Panopta" 1; "~Papa\ Foto" 1; "~PaperLiBot" 1; "~pavuk" 1; "~PBrowse" 1; "~pcBrowser" 1; "~PerMan" 1; "~PEval" 1; "~pflab" 1; "~PHP" 1; "~PHP/" 1; "~Ping" 1; "~PingALink" 1; "~Pingdom" 1; "~pirst" 1; "~Pita" 1; "~Pockey" 1; "~Poirot" 1; "~Port\ Huron\ Labs" 1; "~postano" 1; "~PostRank" 1; "~PrivacyAware" 1; "~Production\ Bot" 1; "~Program\ Shareware" 1; "~ProPowerBot" 1; "~ProWebWalker" 1; "~proximic" 1; "~psbot" 1; "~PSurf15" 1; "~psycheclone" 1; "~ptd-crawler" 1; "~Pump" 1; "~Purebot" 1; "~PycURL" 1; "~Python" 1; "~python-requests" 1; "~Python-urllib" 1; "~QRVA" 1; "~QueryN\ Metasearch" 1; "~QuerySeekerSpider" 1; "~Radiation\ Retriever" 1; "~RealDownload" 1; "~Reaper" 1; "~Recorder" 1; "~ReGet" 1; "~RepoMonkey" 1; "~Riddler" 1; "~RMA" 1; "~rogerbot" 1; "~RSurf15" 1; "~Ruby" 1; "~Runet-Research-Crawler" 1; "~SafeSearch" 1; "~Scooter" 1; "~Scrapy" 1; "~SearchBot" 1; "~searchpreview" 1; "~searchvoodoo" 1; "~Seeker" 1; "~semantic" 1; "~SemrushBot" 1; "~SEO\ search\ Crawler" 1; "~Seopult" 1; "~SEOsearch" 1; "~SetLinks" 1; "~SeznamBot" 1; "~ShablastBot" 1; "~Siphon" 1; "~SISTRIX" 1; "~SiteBot" 1; "~sitecheck" 1; "~SiteSnagger" 1; "~Slurp" 1; "~SlySearch" 1; "~SmartDownload" 1; "~SMTBot" 1; "~SMUrlExpander" 1; "~Snagger" 1; "~Snake" 1; "~snap.com" 1; "~Snapbot" 1; "~SNAPSHOT" 1; "~Snoopy" 1; "~socialmediascanner" 1; "~sogou" 1; "~Sogou" 1; "~sohu\ agent" 1; "~solomono" 1; "~Soup" 1; "~SpaceBison" 1; "~SpankBot" 1; "~spanner" 1; "~spbot" 1; "~spredbot" 1; "~sproose" 1; "~Sqworm" 1; "~SSurf15" 1; "~statdom" 1; "~StatOnlineRuBot" 1; "~Stripper" 1; "~Sucker" 1; "~suggybot" 1; "~SuperBot" 1; "~Superfeedr" 1; "~SuperHTTP" 1; "~Surfbot" 1; "~SurveyBot" 1; "~suzuran" 1; "~SWeb" 1; "~Synapse" 1; "~Szukacz" 1; "~tAkeOut" 1; "~Teleport" 1; "~Telesoft" 1; "~The\ Intraformant" 1; "~TheNomad" 1; "~TightTwatBot" 1; "~Titan" 1; "~toCrawl" 1; "~trendictionbot" 1; "~Triton" 1; "~True_Robot" 1; "~TSearcher" 1; "~TSurf15" 1; "~ttCrawler" 1; "~turingos" 1; "~TurnitinBot" 1; "~TweetmemeBot" 1; "~Twiceler" 1; "~ubermetrics" 1; "~Under\ the\ Rainbow" 1; "~UnwindFetchor" 1; "~URL\ Control" 1; "~UrlDispatcher" 1; "~urllib" 1; "~URLSpiderPro" 1; "~URLy\ Warning" 1; "~User-Agent" 1; "~uTorrent" 1; "~Vacuum" 1; "~VadixBot" 1; "~VCI" 1; "~veoozbot" 1; "~virus\ bot" 1; "~Virusdie" 1; "~VoidEYE" 1; "~voyager" 1; "~Voyager" 1; "~W3\ SiteSearch\ Crawler" 1; "~W3C" 1; "~Wayback Machine" 1; "~WBSearchBot" 1; "~Weazel" 1; "~Web\ Downloader" 1; "~Web\ Image\ Collector" 1; "~Web\ Spy" 1; "~Web\ Sucker" 1; "~WebAlta" 1; "~WebAuto" 1; "~Webbandit" 1; "~WebBandit" 1; "~WebCapture" 1; "~Webclipping.com" 1; "~webcollage" 1; "~WebCopier" 1; "~WebEMailExtrac" 1; "~WebEnhancer" 1; "~WebFetch" 1; "~WebGo\ IS" 1; "~WebHook" 1; "~WebLeacher" 1; "~weblist" 1; "~WebmasterWorld" 1; "~WebMiner" 1; "~WebMirror" 1; "~WebReaper" 1; "~WebRecorder" 1; "~WebSauger" 1; "~WebSite" 1; "~Website\ eXtractor" 1; "~Website\ Quester" 1; "~WebSpy" 1; "~Webster" 1; "~WebStripper" 1; "~WebVulnCrawl" 1; "~WebWhacker" 1; "~WebZIP" 1; "~wegobot" 1; "~Wells\ Search" 1; "~WEP\ Search" 1; "~Wget" 1; "~Whacker" 1; "~Widow" 1; "~Windows\ 95" 1; "~WISENutbot" 1; "~WordPress" 1; "~woriobot" 1; "~WWW-Collector-E" 1; "~WWWOFFLE" 1; "~Xaldon" 1; "~Xenu" 1; "~Xenu's" 1; "~x-Tractor" 1; "~Yanga" 1; "~Yeti" 1; "~YottosBot" 1; "~Zeus" 1; "~Zeus\ Link\ Scout" 1; "~zitebot" 1; "~ZmEu" 1; "~Zyborg" 1;} |
| 68 | + | map $http_user_agent $agent {default 0; "~AppEngine" 1; "~360Spider" 1; "~8484\ Boston\ Project" 1; "~Accelerator" 1; "~AESOP" 1; "~Ahrefs" 1; "~AhrefsBot" 1; "~Alexibot" 1; "~almaden" 1; "~Anarchie" 1; "~Anonymouse.org" 1; "~Ants" 1; "~ApacheBench" 1; "~Aport" 1; "~AppEngine" 1; "~Applebot" 1; "~Aqua_Products" 1; "~archive" 1; "~Ask\ Jeeves" 1; "~ASPSeek" 1; "~asterias" 1; "~Atomic_Email_Hunter" 1; "~atSpider" 1; "~attach" 1; "~autoemailspider" 1; "~b2w" 1; "~BackDoorBot" 1; "~BackWeb" 1; "~BaiduBot" 1; "~Baiduspider" 1; "~bandit" 1; "~Bandit" 1; "~BatchFTP" 1; "~Bigfoot" 1; "~Birubot" 1; "~Black\ Hole" 1; "~BlackWidow" 1; "~BLEXBot" 1; "~BlowFish" 1; "~Bookmark\ search\ tool" 1; "~BotALot" 1; "~bsalsa" 1; "~Buddy" 1; "~BuiltBotTough" 1; "~BullsEye" 1; "~bumblebee" 1; "~BunnySlippers" 1; "~Butterfly" 1; "~Buzzbot" 1; "~BuzzSumo" 1; "~bwh3_user_agent" 1; "~CamontSpider" 1; "~CCBot" 1; "~Cegbfeieh" 1; "~CheeseBot" 1; "~CherryPicker" 1; "~China" 1; "~ChinaClaw" 1; "~CICC" 1; "~clsHTTP" 1; "~coccoc" 1; "~Collector" 1; "~CommentReader" 1; "~ContactBot" 1; "~ContentSmartz" 1; "~Copernic" 1; "~Copier" 1; "~CopyRightCheck" 1; "~cosmos" 1; "~crazy" 1; "~Crescent" 1; "~сurl" 1; "~Сurl" 1; "~Custo" 1; "~DataCha0s" 1; "~dataminr" 1; "~DBrowse" 1; "~Demo\ Bot" 1; "~DeuSu" 1; "~Digincore" 1; "~DIIbot" 1; "~DISCo" 1; "~discobot" 1; "~Dispatch" 1; "~dit" 1; "~DittoSpyder" 1; "~Dolphin" 1; "~DomainSigma" 1; "~DomainTools" 1; "~DotBot" 1; "~Download\ Demon" 1; "~Download\ Devil" 1; "~Download\ Wonder" 1; "~Downloader" 1; "~dragonfly" 1; "~Drip" 1; "~DSurf15" 1; "~DuckDuckGo" 1; "~EasyDL" 1; "~ebingbong" 1; "~EBrowse" 1; "~eCatch" 1; "~Educate\ Search\ VxB" 1; "~EirGrabber" 1; "~email" 1; "~EmailCollector" 1; "~EmailSiphon" 1; "~EmailSpider" 1; "~EmailWolf" 1; "~Embedly" 1; "~EroCrawler" 1; "~ESurf15" 1; "~Exabot" 1; "~Express\ WebPictures" 1; "~Extractor" 1; "~EyeNetIE" 1; "~Ezooms" 1; "~facebookexternalhit" 1; "~FairAd\ Client" 1; "~FairShare" 1; "~Faraday" 1; "~Favicon" 1; "~Feed
|
| 69 | er" 1; "~FileHound" 1; "~filterdb" 1; "~Flaming\ AttackBot" 1; "~FlashGet" 1; "~FlaxCrawler" 1; "~Flexum" 1; "~FlightDeckReportsBot" 1; "~FlipboardProxy" 1; "~flunky" 1; "~Foobot" 1; "~Franklin\ Locator" 1; "~FrontPage" 1; "~FSurf15" 1; "~Full\ Web\ Bot" 1; "~FyberSpider" 1; "~Gaisbot" 1; "~getintent" 1; "~getprismatic" 1; "~GetRight" 1; "~Gets" 1; "~GetSmart" 1; "~GetWeb!" 1; "~gigabaz" 1; "~Gigabot" 1; "~Go 1.1 package" 1; "~Go!Zilla" 1; "~Go-Ahead-Got-It" 1; "~Go-http-client" 1; "~gold crawler" 1; "~gold\ crawler" 1; "~gotit" 1; "~GoZilla" 1; "~Grabber" 1; "~GrabNet" 1; "~GrabSite" 1; "~Grafula" 1; "~GrapeshotCrawler" 1; "~grub" 1; "~grub-client" 1; "~gsa-crawler" 1; "~Guestbook\ Auto\ Submitter" 1; "~Gulliver" 1; "~Harvest" 1; "~help.jp" 1; "~hloader" 1; "~HMView" 1; "~HTMLParser" 1; "~httpdown" 1; "~httplib" 1; "~httrack" 1; "~HTTrack" 1; "~humanlinks" 1; "~hybrid" 1; "~ia_archiver" 1; "~IBrowse" 1; "~IlseBot" 1; "~Image\ Stripper" 1; "~Image\ Sucker" 1; "~Industry\ Program" 1; "~Indy Library" 1; "~Indy\ Library" 1; "~InfoNaviRobot" 1; "~InfoSeek" 1; "~InfoTekies" 1; "~inktomi" 1; "~Intelliseek" 1; "~InterGET" 1; "~Internet\ Ninja" 1; "~InternetLinkagent" 1; "~InternetSeer" 1; "~Iria" 1; "~Iron33" 1; "~ISC\ Systems" 1; "~IUPUI\ Research\ Bot" 1; "~Jakarta" 1; "~Java" 1; "~JBH\ agent" 1; "~JennyBot" 1; "~jetcar" 1; "~JetCar" 1; "~JOC" 1; "~JS-Kit" 1; "~JustView" 1; "~Jyxobot" 1; "~Kenjin\ Spider" 1; "~Keyword\ Density" 1; "~km.ru" 1; "~kmSearchBot" 1; "~Kraken" 1; "~larbin" 1; "~Laserlikebot" 1; "~leech" 1; "~LeechFTP" 1; "~Leikibot" 1; "~LetsCrawl.com" 1; "~LexiBot" 1; "~lftp" 1; "~libWeb" 1; "~libwww" 1; "~Lightspeedsystems" 1; "~likse" 1; "~Lincoln\ State\ Web\ Browser" 1; "~Linguee" 1; "~LinkBot" 1; "~linkdexbot" 1; "~LinkExchanger" 1; "~LinkextractorPro" 1; "~linkfluence" 1; "~LinkpadBot" 1; "~LinkScan" 1; "~LinkSleuth" 1; "~LinkWalker" 1; "~liveinternet" 1; "~LivelapBot" 1; "~LMQueueBot" 1; "~LNSpiderguy" 1; "~LoadImpactPageAnalyzer" 1; "~looksmart" 1; "~ltx71" 1; "~LWP" 1; "~lwp-trivial" 1; "~Mac\ Finder" 1; "~Magnet" 1; "~Mag-Net" 1; "~majestic" 1; "~MarkWatch" 1; "~Mass\ Downloader" 1; "~masscan" 1; "~Mata\ Hari" 1; "~meanpathbot" 1; "~Mediatoolkitbot" 1; "~MegaIndex" 1; "~Memo" 1; "~MetaURI" 1; "~MFC\ Foundation\ Class\ Library" 1; "~mfibot" 1; "~Microsoft\ URL\ Control" 1; "~MIDown\ tool" 1; "~MIIxpc" 1; "~Mirror" 1; "~Missauga\ Loca" 1; "~Missouri\ College\ Browse" 1; "~Mister\ PiX" 1; "~Mizzu\ Labs" 1; "~MJ12bot" 1; "~MLBot" 1; "~Mo\ College" 1; "~moget" 1; "~Mozilla\ Indy" 1; "~Mozilla\ MSIECrawler" 1; "~Mozilla\ NEWT" 1; "~MS\ FrontPage" 1; "~MSFrontPage" 1; "~MSIECrawler" 1; "~MSProxy" 1; "~musobot" 1; "~MVAClient" 1; "~NameOfAgent" 1; "~NAMEPROTECT" 1; "~NASA\ Search" 1; "~Navroad" 1; "~NearSite" 1; "~NerdByNature" 1; "~Net\ Vampire" 1; "~NetAnts" 1; "~Netcraft" 1; "~NetMechanic" 1; "~NetReaper" 1; "~NetSeer" 1; "~NetSpider" 1; "~NetZIP" 1; "~NewShareCounts" 1; "~NextGenSearchBot" 1; "~NICErsPRO" 1; "~NimbleCrawler" 1; "~NING" 1; "~Ninja" 1; "~NjuiceBot" 1; "~NPbot" 1; "~Nsauditor" 1; "~Nutch" 1; "~Nuzzel" 1; "~Octopus" 1; "~Offline" 1; "~Offline\ Explorer" 1; "~Offline\ Navigator" 1; "~omgili" 1; "~omgilibot" 1; "~OmniExplorer_Bot" 1; "~Openbot" 1; "~Openfind" 1; "~OpenHoseBot" 1; "~openstat" 1; "~openstat.ru" 1; "~OptimizationCrawler" 1; "~Oracle\ Ultra\ Search" 1; "~OutfoxBot" 1; "~PageGrabber" 1; "~PageSaver" 1; "~Panopta" 1; "~Papa\ Foto" 1; "~PaperLiBot" 1; "~pavuk" 1; "~PBrowse" 1; "~pcBrowser" 1; "~PerMan" 1; "~PEval" 1; "~pflab" 1; "~PHP" 1; "~PHP/" 1; "~Ping" 1; "~PingALink" 1; "~Pingdom" 1; "~pirst" 1; "~Pita" 1; "~Pockey" 1; "~Poirot" 1; "~Port\ Huron\ Labs" 1; "~postano" 1; "~PostRank" 1; "~PrivacyAware" 1; "~Production\ Bot" 1; "~Program\ Shareware" 1; "~ProPowerBot" 1; "~ProWebWalker" 1; "~proximic" 1; "~psbot" 1; "~PSurf15" 1; "~psycheclone" 1; "~ptd-crawler" 1; "~Pump" 1; "~Purebot" 1; "~PycURL" 1; "~Python" 1; "~python-requests" 1; "~Python-urllib" 1; "~QRVA" 1; "~QueryN\ Metasearch" 1; "~QuerySeekerSpider" 1; "~Radiation\ Retriever" 1; "~RealDownload" 1; "~Reaper" 1; "~Recorder" 1; "~ReGet" 1; "~RepoMonkey" 1; "~Riddler" 1; "~RMA" 1; "~rogerbot" 1; "~RSurf15" 1; "~Ruby" 1; "~Runet-Research-Crawler" 1; "~SafeSearch" 1; "~Scooter" 1; "~Scrapy" 1; "~SearchBot" 1; "~searchpreview" 1; "~searchvoodoo" 1; "~Seeker" 1; "~semantic" 1; "~SemrushBot" 1; "~SEO\ search\ Crawler" 1; "~Seopult" 1; "~SEOsearch" 1; "~SetLinks" 1; "~SeznamBot" 1; "~ShablastBot" 1; "~Siphon" 1; "~SISTRIX" 1; "~SiteBot" 1; "~sitecheck" 1; "~SiteSnagger" 1; "~Slurp" 1; "~SlySearch" 1; "~SmartDownload" 1; "~SMTBot" 1; "~SMUrlExpander" 1; "~Snagger" 1; "~Snake" 1; "~snap.com" 1; "~Snapbot" 1; "~SNAPSHOT" 1; "~Snoopy" 1; "~socialmediascanner" 1; "~sogou" 1; "~Sogou" 1; "~sohu\ agent" 1; "~solomono" 1; "~Soup" 1; "~SpaceBison" 1; "~SpankBot" 1; "~spanner" 1; "~spbot" 1; "~spredbot" 1; "~sproose" 1; "~Sqworm" 1; "~SSurf15" 1; "~statdom" 1; "~StatOnlineRuBot" 1; "~Stripper" 1; "~Sucker" 1; "~suggybot" 1; "~SuperBot" 1; "~Superfeedr" 1; "~SuperHTTP" 1; "~Surfbot" 1; "~SurveyBot" 1; "~suzuran" 1; "~SWeb" 1; "~Synapse" 1; "~Szukacz" 1; "~tAkeOut" 1; "~Teleport" 1; "~Telesoft" 1; "~The\ Intraformant" 1; "~TheNomad" 1; "~TightTwatBot" 1; "~Titan" 1; "~toCrawl" 1; "~trendictionbot" 1; "~Triton" 1; "~True_Robot" 1; "~TSearcher" 1; "~TSurf15" 1; "~ttCrawler" 1; "~turingos" 1; "~TurnitinBot" 1; "~TweetmemeBot" 1; "~Twiceler" 1; "~ubermetrics" 1; "~Under\ the\ Rainbow" 1; "~UnwindFetchor" 1; "~URL\ Control" 1; "~UrlDispatcher" 1; "~urllib" 1; "~URLSpiderPro" 1; "~URLy\ Warning" 1; "~User-Agent" 1; "~uTorrent" 1; "~Vacuum" 1; "~VadixBot" 1; "~VCI" 1; "~veoozbot" 1; "~virus\ bot" 1; "~Virusdie" 1; "~VoidEYE" 1; "~voyager" 1; "~Voyager" 1; "~W3\ SiteSearch\ Crawler" 1; "~W3C" 1; "~Wayback Machine" 1; "~WBSearchBot" 1; "~Weazel" 1; "~Web\ Downloader" 1; "~Web\ Image\ Collector" 1; "~Web\ Spy" 1; "~Web\ Sucker" 1; "~WebAlta" 1; "~WebAuto" 1; "~Webbandit" 1; "~WebBandit" 1; "~WebCapture" 1; "~Webclipping.com" 1; "~webcollage" 1; "~WebCopier" 1; "~WebEMailExtrac" 1; "~WebEnhancer" 1; "~WebFetch" 1; "~WebGo\ IS" 1; "~WebHook" 1; "~WebLeacher" 1; "~weblist" 1; "~WebmasterWorld" 1; "~WebMiner" 1; "~WebMirror" 1; "~WebReaper" 1; "~WebRecorder" 1; "~WebSauger" 1; "~WebSite" 1; "~Website\ eXtractor" 1; "~Website\ Quester" 1; "~WebSpy" 1; "~Webster" 1; "~WebStripper" 1; "~WebVulnCrawl" 1; "~WebWhacker" 1; "~WebZIP" 1; "~wegobot" 1; "~Wells\ Search" 1; "~WEP\ Search" 1; "~Wget" 1; "~Whacker" 1; "~Widow" 1; "~Windows\ 95" 1; "~WISENutbot" 1; "~WordPress" 1; "~woriobot" 1; "~WWW-Collector-E" 1; "~WWWOFFLE" 1; "~Xaldon" 1; "~Xenu" 1; "~Xenu's" 1; "~x-Tractor" 1; "~Yanga" 1; "~Yeti" 1; "~YottosBot" 1; "~Zeus" 1; "~Zeus\ Link\ Scout" 1; "~zitebot" 1; "~ZmEu" 1; "~Zyborg" 1;} | |
| 70 | ||
| 71 | - | include /etc/nginx/mime.types; |
| 71 | + | |
| 72 | include /etc/nginx/mime.types; | |
| 73 | default_type application/octet-stream; | |
| 74 | ||
| 75 | # Main settings | |
| 76 | ||
| 77 | - | #а для файлов меньшего размера или при выключенном directio — sendfile |
| 77 | + | |
| 78 | - | #Если нужна большая производительность, нужен собранный nginx с флагом --with-threads https://habrahabr.ru/post/260669/ |
| 78 | + | #а для файлов меньшего размера или при выключенном directio — sendfile |
| 79 | - | sendfile on; |
| 79 | + | #Если нужна большая производительность, нужен собранный nginx с флагом --with-threads https://habrahabr.ru/post/260669/ |
| 80 | sendfile on; | |
| 81 | sendfile_max_chunk 256k; | |
| 82 | tcp_nopush on; | |
| 83 | tcp_nodelay on; | |
| 84 | ||
| 85 | - | client_body_timeout 5; |
| 85 | + | |
| 86 | client_body_timeout 5; | |
| 87 | - | client_header_timeout 5; |
| 87 | + | |
| 88 | client_header_timeout 5; | |
| 89 | - | keepalive_timeout 15 2; |
| 89 | + | |
| 90 | keepalive_timeout 15 2; | |
| 91 | - | keepalive_requests 100; |
| 91 | + | |
| 92 | keepalive_requests 100; | |
| 93 | - | send_timeout 1; |
| 93 | + | |
| 94 | send_timeout 1; | |
| 95 | ||
| 96 | - | client_body_buffer_size 10K; |
| 96 | + | |
| 97 | client_body_buffer_size 10K; | |
| 98 | - | client_header_buffer_size 5k; |
| 98 | + | |
| 99 | client_header_buffer_size 5k; | |
| 100 | - | # Если сервер должен поддерживать загрузку файлов, это значение необходимо увеличить |
| 100 | + | |
| 101 | - | client_max_body_size 8m; |
| 101 | + | # Если сервер должен поддерживать загрузку файлов, это значение необходимо увеличить |
| 102 | client_max_body_size 8m; | |
| 103 | - | large_client_header_buffers 2 5k; |
| 103 | + | |
| 104 | large_client_header_buffers 2 5k; | |
| 105 | reset_timedout_connection on; | |
| 106 | ||
| 107 | server_tokens off; | |
| 108 | server_name_in_redirect off; | |
| 109 | server_names_hash_max_size 512; | |
| 110 | server_names_hash_bucket_size 512; | |
| 111 | - | # Proxy settings |
| 111 | + | |
| 112 | - | proxy_redirect off; |
| 112 | + | # Proxy settings |
| 113 | proxy_redirect off; | |
| 114 | proxy_connect_timeout 600; | |
| 115 | proxy_send_timeout 600; | |
| 116 | proxy_read_timeout 600; | |
| 117 | proxy_buffering on; | |
| 118 | proxy_buffers 4 256k; | |
| 119 | proxy_buffer_size 256k; | |
| 120 | proxy_busy_buffers_size 256k; | |
| 121 | ||
| 122 | - | #/с версии 0.7.48 Исправление: теперь nginx кэширует только ответы на запросы GET./ |
| 122 | + | |
| 123 | - | proxy_cache_path /var/lib/nginx/cache levels=1:2 keys_zone=cache:10m inactive=10m max_size=15m; #inactive Время хранения данных с последнего обращения |
| 123 | + | #/с версии 0.7.48 Исправление: теперь nginx кэширует только ответы на запросы GET./ |
| 124 | - | proxy_temp_path /var/lib/nginx/proxy 1 2; |
| 124 | + | proxy_cache_path /var/lib/nginx/cache levels=1:2 keys_zone=cache:10m inactive=10m max_size=15m; #inactive Время хранения данных с последнего обращения |
| 125 | proxy_temp_path /var/lib/nginx/proxy 1 2; | |
| 126 | - | #proxy_cache_min_uses 5; # Количество юзеров после которого включим кеширование |
| 126 | + | |
| 127 | - | proxy_set_header Accept-Encoding ""; |
| 127 | + | #proxy_cache_min_uses 5; # Количество юзеров после которого включим кеширование |
| 128 | proxy_set_header Accept-Encoding ""; | |
| 129 | ||
| 130 | upstream backend {
| |
| 131 | ||
| 132 | hash $remote_addr$remote_port consistent; | |
| 133 | ||
| 134 | server 127.0.0.1:81; | |
| 135 | ||
| 136 | - | server хх.хх.хх.хх:81; |
| 136 | + | |
| 137 | server 195.123.211.109:81; | |
| 138 | } | |
| 139 | - | ############################## SERVER #################################### |
| 139 | + | |
| 140 | - | server {
|
| 140 | + | ############################## SERVER #################################### |
| 141 | server {
| |
| 142 | listen 80 reuseport; # Слушаем 80 порт listen for ipv4 | |
| 143 | ||
| 144 | add_header X-Cache $upstream_cache_status; | |
| 145 | ||
| 146 | ||
| 147 | - | error_page 404 502 503 504 = @apache2; |
| 147 | + | |
| 148 | error_page 404 502 503 504 = @apache2; | |
| 149 | ||
| 150 | - | set $no_cache 0; |
| 150 | + | |
| 151 | set $no_cache 0; | |
| 152 | - | if ($query_string != "") |
| 152 | + | |
| 153 | if ($query_string != "") | |
| 154 | { set $no_cache 1; }
| |
| 155 | - | if ($request_uri ~* "/(wp-admin/|admin/|administrator/|login.php|phpmyadmin)") |
| 155 | + | |
| 156 | if ($request_uri ~* "/(wp-admin/|admin/|administrator/|login.php|phpmyadmin)") | |
| 157 | { set $no_cache 1; }
| |
| 158 | - | if ($http_cookie = "session") { set $no_cache 1; }
|
| 158 | + | |
| 159 | if ($http_cookie = "session") { set $no_cache 1; }
| |
| 160 | ||
| 161 | ############################################ | |
| 162 | ||
| 163 | - | |
| 163 | + | |
| 164 | limit_req zone=perserver burst=10; | |
| 165 | - | if ($block = 0) { return 444;}
|
| 165 | + | #со всплесками не более 5 запросов. |
| 166 | limit_req zone=perip burst=5 nodelay; | |
| 167 | - | if ($agent = 1) { return 403;}
|
| 167 | + | |
| 168 | #Блокируем запросы кроме HEAD POST GET | |
| 169 | if ($block = 0) { return 444;}
| |
| 170 | - | charset utf-8; |
| 170 | + | |
| 171 | if ($agent = 1) { return 403;}
| |
| 172 | ||
| 173 | - | #!Путь до папки с сайтом как в Vesta СP /home/admin/web/domen.ru/public_html |
| 173 | + | |
| 174 | - | #Если нужные другие пути, они редактируются в строка помеченных #1 |
| 174 | + | charset utf-8; |
| 175 | - | set $basepath "/home/admin/web"; #1 |
| 175 | + | |
| 176 | - | set $domain $host; |
| 176 | + | |
| 177 | #!Путь до папки с сайтом как в Vesta СP /home/admin/web/domen.ru/public_html/ | |
| 178 | #Если нужные другие пути, они редактируются в строка помеченных #1 | |
| 179 | set $basepath "/home/admin/web"; #1 | |
| 180 | - | set $rootpath "${domain}/public_html"; #1
|
| 180 | + | set $domain $host; |
| 181 | - | set $servername "${domain}";
|
| 181 | + | |
| 182 | if ($domain ~ "^(.[^.]*)$") {
| |
| 183 | set $domain $1; | |
| 184 | set $rootpath "${domain}/public_html/"; #1
| |
| 185 | set $servername "${domain}";
| |
| 186 | - | set $rootpath "${subdomain}.${domain}/public_html"; #1
|
| 186 | + | |
| 187 | - | set $servername "${subdomain}.${domain}";
|
| 187 | + | |
| 188 | set $subdomain $1; | |
| 189 | set $domain $2; | |
| 190 | - | #if (!-d $basepath/$rootpath) { return 404; }
|
| 190 | + | set $rootpath "${subdomain}.${domain}/public_html/"; #1
|
| 191 | - | |
| 191 | + | set $servername "${subdomain}.${domain}";
|
| 192 | } | |
| 193 | - | if ($http_host ~* "^www\.(.+)\.(.+)$"){ #Запоминаем хост без www из предыдущего выражения в переменной $nowww
|
| 193 | + | |
| 194 | - | set $nowww $1.$2; |
| 194 | + | #if (!-d $basepath/$rootpath) { return 404; }
|
| 195 | ||
| 196 | - | rewrite ^ http://$nowww$request_uri? permanent; } |
| 196 | + | |
| 197 | if ($http_host ~* "^www\.(.+)\.(.+)$"){ #Запоминаем хост без www из предыдущего выражения в переменной $nowww
| |
| 198 | - | |
| 198 | + | set $nowww $1.$2; |
| 199 | #Делаем 301 редирект (permanent) .В $request_uri - адрес без хоста со всеми GET параметрами. После $request_uri добавляем '?' чтобы GET параметры не добавились дважды (по умолчанию) | |
| 200 | rewrite ^ http://$nowww$request_uri? permanent; } | |
| 201 | #########################//////////////////////########################################################### | |
| 202 | ||
| 203 | server_name $servername; | |
| 204 | - | |
| 204 | + | |
| 205 | index index.php index.html index.htm; | |
| 206 | ||
| 207 | root $basepath/$rootpath; # Директория поиска файлов | |
| 208 | - | location ~* ^/wordpress/(wp-config.php) {
|
| 208 | + | |
| 209 | ########################################################################################################### | |
| 210 | - | return 404; # вернуть код ошибки |
| 210 | + | |
| 211 | - | } |
| 211 | + | |
| 212 | location ~* ^/wordpress/(wp-config.php) {
| |
| 213 | deny all; # запретить все для всех | |
| 214 | - | location ~* ^/bitrix/(modules|local_cache|stack_cache|managed_cache|php_interface) {
|
| 214 | + | return 404; # вернуть код ошибки |
| 215 | } | |
| 216 | ||
| 217 | # bitrix internal locations | |
| 218 | location ~* ^/bitrix/(modules|local_cache|stack_cache|managed_cache|php_interface) {
| |
| 219 | - | location ~* /(uploads|images|cache|media|logs|tmp)/.*.(php|pl|py|jsp|asp|sh|cgi)$ { deny all; }
|
| 219 | + | |
| 220 | } | |
| 221 | ||
| 222 | - | location ~ /\. { deny all;}
|
| 222 | + | |
| 223 | location ~* /(uploads|images|cache|media|logs|tmp)/.*.(php|pl|py|jsp|asp|sh|cgi)$ { deny all; }
| |
| 224 | ||
| 225 | - | location ~* ^.+\.(db|txt)$ { deny all; }
|
| 225 | + | |
| 226 | location ~ /\. { deny all;}
| |
| 227 | - | location = /robots.txt { allow all; log_not_found off; access_log off; }
|
| 227 | + | |
| 228 | - | location = /favicon.ico { allow all; log_not_found off; access_log off; }
|
| 228 | + | |
| 229 | location ~* ^.+\.(db|txt)$ { deny all; }
| |
| 230 | # Открыт доступ к robots.txt u favicon | |
| 231 | - | location ^/phpmyadmin { alias /usr/share/phpmyadmin/;
|
| 231 | + | location = /robots.txt { allow all; log_not_found off; access_log off; }
|
| 232 | location = /favicon.ico { allow all; log_not_found off; access_log off; }
| |
| 233 | ||
| 234 | # phpmyadmin | |
| 235 | location ^/phpmyadmin { alias /usr/share/phpmyadmin/;
| |
| 236 | location ~ /(libraries|setup) { return 404; }
| |
| 237 | ||
| 238 | location ~ ^/phpmyadmin/(.*\.php)$ {
| |
| 239 | alias /usr/share/phpmyadmin/$1; | |
| 240 | proxy_pass http://backend; } | |
| 241 | - | # Вы можете добавить по аналогии расширения файлов, которые будут отдаваться Nginx'ом. |
| 241 | + | |
| 242 | - | # Динамические файлы мы будем отсылать на Apache |
| 242 | + | |
| 243 | - | location ~* ^.+\.(bmp|jpg|jpeg|gif|png|svg|js|css|html|htm|ico|pdf|pptx?|docx?|xlsx?|rtf|xpi|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ {
|
| 243 | + | |
| 244 | # Эта секция отвечает за местонахождение и типы статичных файлов, обрабатываемых Nginx. | |
| 245 | - | # кешируем у клиента на 7 дней |
| 245 | + | # Вы можете добавить по аналогии расширения файлов, которые будут отдаваться Nginx'ом. |
| 246 | - | expires 7d; |
| 246 | + | # Динамические файлы мы будем отсылать на Apache |
| 247 | location ~* ^.+\.(bmp|jpg|jpeg|gif|png|svg|js|css|html|htm|ico|pdf|pptx?|docx?|xlsx?|rtf|xpi|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ {
| |
| 248 | - | #Хитрая проверка на свой сайт, ввиду того что динамика и сайты у нас разные |
| 248 | + | |
| 249 | - | #Спасибо автору Maxim Dounin http://nginx.org/en/donation.html |
| 249 | + | # кешируем у клиента на 7 дней |
| 250 | - | set $temp "$host:$http_referer"; |
| 250 | + | expires 7d; |
| 251 | #Защита от хотлинкинга , указанных поисковых сайтов и соцсетей | |
| 252 | #Хитрая проверка на свой сайт, ввиду того что динамика и сайты у нас разные | |
| 253 | #Спасибо автору Maxim Dounin http://nginx.org/en/donation.html | |
| 254 | - | valid_referers none blocked server_names ~(duckduckgo|yandex|google|yahoo|bing|ok|twitter|vk|facebook|subscribe|feedburner|mail|rambler|nigma|ask|qip); |
| 254 | + | set $temp "$host:$http_referer"; |
| 255 | if ($temp ~* "^(.*):https?://\1") { set $invalid_referer "0"; }
| |
| 256 | - | #return 403; |
| 256 | + | |
| 257 | #Разрешено поисковым сайтам и соцсетям отображать у себя картинки и прочие файлы | |
| 258 | - | rewrite ^(.*)$ http://mtdata.ru/u3/photo3768/20520253260-0/original.jpg redirect; |
| 258 | + | valid_referers none blocked server_names ~(duckduckgo|yandex|google|yahoo|bing|ok|twitter|vk|facebook|subscribe|feedburner|mail|rambler|nigma|ask|qip); |
| 259 | if ($invalid_referer) {
| |
| 260 | return 403; | |
| 261 | #сюда можно засунуть вместо retunr 403 свою картинку | |
| 262 | - | #Повторный запрос при ошибке |
| 262 | + | #rewrite ^(.*)$ http://blogsisadmina.ru/wp-content/uploads/2015/11/26.jpg redirect; |
| 263 | - | error_page 404 502 503 504 = @apache2; |
| 263 | + | |
| 264 | } | |
| 265 | # | |
| 266 | #Повторный запрос при ошибке | |
| 267 | error_page 404 502 503 504 = @apache2; | |
| 268 | try_files $uri @apache2; | |
| 269 | ||
| 270 | - | location / {
|
| 270 | + | |
| 271 | ||
| 272 | ||
| 273 | ||
| 274 | location / {
| |
| 275 | try_files $uri @apache2; | |
| 276 | proxy_pass http://backend; | |
| 277 | - | proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; |
| 277 | + | |
| 278 | proxy_redirect off; | |
| 279 | proxy_set_header Host $host; | |
| 280 | proxy_set_header X-Real-IP $remote_addr; | |
| 281 | - | proxy_cache_valid 404 1m; |
| 281 | + | proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; |
| 282 | proxy_cache_revalidate on; | |
| 283 | proxy_cache_use_stale error timeout invalid_header updating http_500 http_502 http_503 http_504; | |
| 284 | proxy_cache_valid 200 301 302 304 5m; #Время хранения данных в кеше | |
| 285 | proxy_cache_valid 404 1m; | |
| 286 | ||
| 287 | proxy_cache_bypass $no_cache; | |
| 288 | - | #can rename PURGE to whatever you want, should restrict it to backend server requests for security |
| 288 | + | |
| 289 | - | #proxy_cache_purge PURGE from 127.0.0.1 Web.Server.IP; #Указать IP сервера \ Web.Server.IP (~from 127.0.0.1 xxx.xxx.xxx.xxx) |
| 289 | + | |
| 290 | ||
| 291 | #proxy_cache_purge Функция в платной подписке( | |
| 292 | - | #allow 127.0.0.1; |
| 292 | + | #can rename PURGE to whatever you want, should restrict it to backend server requests for security |
| 293 | - | #allow Web.Server.IP; |
| 293 | + | #proxy_cache_purge PURGE from 127.0.0.1 Web.Server.IP; #Указать IP сервера \ Web.Server.IP (~from 127.0.0.1 xxx.xxx.xxx.xxx) |
| 294 | - | #deny all; |
| 294 | + | |
| 295 | - | #proxy_cache_purge cache $scheme$host$1;} |
| 295 | + | |
| 296 | - | |
| 296 | + | #allow 127.0.0.1; |
| 297 | #allow Web.Server.IP; | |
| 298 | - | } |
| 298 | + | #deny all; |
| 299 | #proxy_cache_purge cache $scheme$host$1;} | |
| 300 | ||
| 301 | error_page 404 502 503 504 = @apache2; | |
| 302 | } | |
| 303 | ||
| 304 | location @apache2 {
| |
| 305 | proxy_pass http://backend; | |
| 306 | - | |
| 306 | + | |
| 307 | proxy_set_header X-Real-IP $remote_addr; | |
| 308 | - | #include /etc/nginx/conf.d/*.conf; |
| 308 | + | |
| 309 | } | |
| 310 | ||
| 311 | # Wildcard include / Закоментили(отключили) дополнительные настройки | |
| 312 | #include /etc/nginx/conf.d/*.conf; | |
| 313 | - | ssl_session_cache shared:SSL:10m; |
| 313 | + | |
| 314 | } #/server | |
| 315 | ||
| 316 | # SSL PCI Compliance | |
| 317 | ssl_session_cache shared:SSL:10m; | |
| 318 | ssl_protocols TLSv1 TLSv1.1 TLSv1.2; | |
| 319 | - | error_page 403 /home/admin/web/$host/document_errors/403.html; |
| 319 | + | |
| 320 | ssl_ciphers "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4"; | |
| 321 | ||
| 322 | # Error pages / Страницы ошибок / Пути под Vesta CP | |
| 323 | error_page 403 /home/admin/web/$host/document_errors/403.html; | |
| 324 | - | # http/ngx_http_gzip_module.html |
| 324 | + | |
| 325 | - | gzip on; |
| 325 | + | |
| 326 | ||
| 327 | ################## Настройки GZIP########################### | |
| 328 | # http/ngx_http_gzip_module.html | |
| 329 | gzip on; | |
| 330 | gzip_static on; | |
| 331 | - | gzip_proxied expired no-cache no-store private auth; |
| 331 | + | |
| 332 | gzip_buffers 64 8k; | |
| 333 | - | gzip_types text/plain text/css application/x-javascript application/json application/javascript text/xml application/xml application/xml+rss text/javascript image/svg+xml application/x-font-ttf font/opentype; |
| 333 | + | |
| 334 | # Разрешает или запрещает сжатие ответа методом gzip для проксированных запросов в зависимости от запроса и ответа. | |
| 335 | - | gzip_disable "msie6"; |
| 335 | + | gzip_proxied expired no-cache no-store private auth; |
| 336 | # Разрешает сжатие ответа методом gzip для указанных MIME-типов в дополнение к text/html, который сжимается всегда. | |
| 337 | - | gzip_comp_level 5; |
| 337 | + | gzip_types text/plain text/css application/x-javascript application/json application/javascript text/xml application/xml application/xml+rss text/javascript image/svg+xml application/x-font-ttf font/opentype; |
| 338 | - | gzip_proxied any; |
| 338 | + | |
| 339 | gzip_disable "msie6"; | |
| 340 | # Уровень gzip-компрессии. | |
| 341 | gzip_comp_level 5; | |
| 342 | - | # Директива автоматически запрещает (0.7.15) использование sendfile для данного запроса. Рекомендуется использовать для больших файлов |
| 342 | + | gzip_proxied any; |
| 343 | - | directio 1m; |
| 343 | + | |
| 344 | ||
| 345 | aio on; # включаем AIO | |
| 346 | - | log_format main '$remote_addr - $remote_user [$time_local] $request ' |
| 346 | + | # Директива автоматически запрещает (0.7.15) использование sendfile для данного запроса. Рекомендуется использовать для больших файлов |
| 347 | directio 1m; | |
| 348 | ||
| 349 | # Log format | |
| 350 | log_format main '$remote_addr - $remote_user [$time_local] $request ' | |
| 351 | '"$status" $body_bytes_sent "$http_referer" ' | |
| 352 | '"$http_user_agent" "$http_x_forwarded_for"'; | |
| 353 | log_format bytes '$body_bytes_sent'; | |
| 354 | access_log /var/log/nginx/access.log main; | |
| 355 | #access_log off; | |
| 356 | ||
| 357 | }#/http |