hstspreload.orgに怒られてしまったとき

  • 2022年3月21日
  • 2022年2月14日
  • Tips

はじめに

nginxなWebサーバをHSTS化したあと、

https://hstspreload.org/

に登録しようとしたのですが、このときに

Error: HTTP redirects to www first…

と怒られてしまったので、対処法を遺しておきます。

対象環境

  • nginx
  • https://example.com/ なリクエスト時に、 https://www.example.com/ が呼び出されること
  • http://example.com/ と http://www.example.com/ が、/etc/nginx/conf.d/example_http.conf 内で一括定義されていること

手順

  1. example_http.conf を編集します
    ~# vi /etc/nginx/conf.d/example_http.conf
    
    # 8行目 server_name www.example.com example.com; となっていたら、example.comを外す
    server_name www.example.com;
    
    # 13行目 コメントアウト
    #rewrite ^(.*)$ https://example.com$request_uri permanent; # SSL ONLY
  2. example_non-www_http.conf を作成します
    ~# vi /etc/nginx/conf.d/example_non-www_http.conf
    
    #=======================================
    # example.com
    #---------------------------------------
    server {
            listen 80;
            server_name example.com;
            return 301 https://example.com$request_uri;
    }
  3. ngixをリスタートします
    ~# systemctl restart nginx
  4. hstspreload.orgで再試験
    https://hstspreload.org/

以上です。