Nginxは、私自身のサーバーを暗号化し、取る😢


Photo by Simon Fitall on Unsplash
あなたがGoogle and it’s indexing rulesに注意を払うならば、あなたはおそらくあなたがあなたのサイトでSSL証明書を必要とすると聞いたでしょう.私はしばらくこれを知っていました、そして、petetaskerの私の個人的なサイト.COMは優先順位の高い状況ではなかった.
Welp、私は一晩退屈して、それが私の古いLinodeサーバーにインストールされたそれらのファンシーパンツ無料Let’s Encrypt certsの1つを得るための時間について決めた.
インターネット上には、SSL証明書をあなたのサイトにインストールする方法を概説しているリソースがたくさんあります.私が行くことは、盲目的に彼らの後にあなたのサーバーを降ろすことができる方法です.
ほとんどのチュートリアルでは、あなたの証明書をインストールしてnginxを設定するためにCertbotを使いたいと考えています.certbot --nginx -d petetasker.com十分無害であるように思えます、いいえ?その小さな--nginxフラグは、細かい印刷を読んでいない場合は、仮想ホストの設定を変更します.うん.httpsにすべてのHTTPトラフィックをリダイレクトするために証明書を設定するときにオプションがあり、明らかに私は'確実'を言った.
を返します.サイトの電子メールの大洪水、TwitterのサイトがダウンしているDMのです.

すべてが泳ぎ行く!
私は/etc/nginx/sites-available/petetasker.com仮想ホスト宣言で以下のブロックを削除することでこの問題を解決できました.
if ($host = petetasker.com) {
    return 301 https://$host$request_uri;
} # managed by Certbot
単純なリダイレクトブロックを追加するだけで、ファイルの先頭に再確認できます.
server{
        listen 80;
        server_name petetasker.com;
        return 301 https://$server_name$request_uri;
}
では、ここのレッスンは何ですか?レッスンは、あなたが「自動的に」あなたのために何かをするツールを使っているならば、それが本当であるためにあまりに良い音がするということです.
あなたが最終的な仮想ホスト・ブロックがどのように見えるか疑問に思っているならば
server{
        listen 80;
        server_name petetasker.com;
        return 301 https://$server_name$request_uri;
}
server {

        listen 80 default_server;
        #listen [::]:80 default_server ipv6only=on;
        server_name petetasker.com www.petetasker.com;

        server_name petetasker.com www.petetasker.com;
        root /usr/share/nginx/sites/petetasker.com;
        index index.php index.html;

        location / {
                try_files $uri $uri/ /index.php?$args;
        }

        location ~ \.php$ {
                try_files $uri =404;
                fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
        }

    listen [::]:443 ssl ipv6only=on; # managed by Certbot
    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/petetasker.com-0001/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/petetasker.com-0001/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

}
Nginx, Let’s Encrypt and taking my own server down 😢年には、🔥 Database Critical 🔥が初めて登場した.