updated on 2019-07-28
Amazon Linux 2
Rails 5.2.1
ruby 2.4.2
nginx 1.12.2
unicorn 5.5.1
GoogleAdsenseのコンソールから、「要注意 - 収益に重大な影響が出ないよう、ads.txt ファイルの問題を修正してください。」と警告が来ていたので、今回こちらを設置しました。
広告枠の販売を許可する認定販売者を宣言することで詐欺広告を防止し、透明性を高めることができます。
自身のサイトで、広告枠の販売を許可されたことを掲示する役割を持っています。
ちなみに、ダウンロードせずに.txtファイルを作成してもいいですが、ダウンロードした方が、サイト運営者IDとかも書いてくれているので早いです。
アプリ/public内にads.txtファイルを置くだけでホストされます。以後、ドメイン/ads.textを叩くと該当ファイルが表示されます。
ローカルからEC2にコピーするときはscpコマンドを使いましょう。
$ scp -i [ec2の公開鍵のパス] ~/Downloads/ads.txt [ユーザー名]@[サーバのドメイン]:[アプリのパス]/public/ads.txt
これで、[アプリのパス]/publicに ads.txt がコピーされます。
https://fe.datasign.co/adstxt/ こちらのサービスでads.txtをテストしてもらえるとわかると思いますが、
”ISO-8859-1″は誤った文字コードです。utf-8で作成してください。
と表示されると思います。理由は、nginxを経由してファイルにアクセスするときに、文字コードが変換されてしまうからです。
なので、nginx設定がいるから文字コードを指定する。
筆者の場合、アプリ名froala-blogのnginx設定ファイルは、froala-blog.conf なので
$ sudo vi /etc/nginx/conf.d/froala-blog.conf ... server { charset utf-8; # こいつを追加 server_name domain xx.xx.xx.xx; # nginx so increasing this is generally safe... keepalive_timeout 5; # path for static files root /var/www/rails/froala-blog/public; # page cache loading try_files $uri/index.html $uri.html $uri @app; location @app { # HTTP headers proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto https; proxy_set_header Host $http_host; proxy_redirect off; proxy_pass http://app_server; } ...
最後にnginxとunicorn(ウェブサーバー、アプリケーションサーバー)を再起動すれば終了です。
https://fe.datasign.co/adstxt/ でもう一度テストすると文字コードエラーが消えていると思います!
ドメイン/ads.txtでアクセスして、ads.txtの表示を確認しましょう!
完
ちなみに...nginxではなくApatchを使っている方は手順2にて以下の通りにすると良いです
.htaccess に以下の内容を追記
<Files ads.txt>
AddType "text/plain; charset=utf-8" .txt
</Files>
これで、UTF-8で txtファイルと接続できます。