Archives 9月 2019

403 Forbidden Laravel Apache VirtualHost 443 の解決

 
sudo vi /etc/httpd/conf.d/ssl.conf

// ドキュメントルートを/var/www/laravel/publicへ変更
DocumentRoot "/var/www/laravel/public"

<Directory "/var/www/laravel/public">
    AllowOverride All
#       Options Indexes    ←コイツが邪魔をして access forbidden が出ていた
          		    ファイルの一覧をだそうとするのは許可されてないらしい
    Require all granted


$ sudo systemctl restart httpd.service

 

Laravelじゃない場合の対処

 
<VirtualHost *:80>
    ServerName tanaka.org
    DocumentRoot /home/tanaka
    <Directory "/home/tanaka">
	AllowOverride All
        Order allow,deny
        Allow from all
     	 Require all granted ← これを追加する
   </Directory>
</VirtualHost>

 

Apache 特定ファイルへのアクセスをIPで制限.htaccess

WordPressの定番アタックを阻止する
wpインストールディレクトリの .htaccessへ追記する

 


<Files ~ "(wp-cron|wp-login|xmlrpc)\.php$">
    Order deny,allow
    Allow from xxx.xxx.xxx.xxx yyy.yyy.yyy.yyy
    Deny from all
</Files>
#アタックの多いファイルは0。0。0。0へリダイレクト
RewriteEngine On
RewriteBase /
RewriteRule ^xmlrpc\.php "http\:\/\/0\.0\.0\.0\/" [R=301,L]
RewriteRule ^wp-cron\.php "http\:\/\/0\.0\.0\.0\/" [R=301,L]
RewriteRule ^xmlrpc\.php "http\:\/\/0\.0\.0\.0\/" [R=301,L]
RewriteRule ^wp\/wp-cron\.php "http\:\/\/0\.0\.0\.0\/" [R=301,L]
RewriteRule ^(.*\.xml)$ "http\:\/\/0\.0\.0\.0\/" [R=301,L]
RewriteRule ^(.*\.gm)$ "http\:\/\/0\.0\.0\.0\/" [R=301,L]

 

xxx yyy は許可するIP
自身のIPは200、不許可IPは403のステータスコードが返される