問題
私がヒットするとkevinsuttle.com
、私は得る
"No data received ERR_EMPTY_RESPONSE".
を押すとhttps://kevinsuttle.com
、サイトが表示されます。
ゴースト 0.7.5
nginx 1.4 => 1.9.9
letsencrypt 0.2.0
Digital Ocean : Ubuntu 14.04 Ghost ワンクリック ドロップレット
Networking > Domainsの下に、サーバーの IP アドレス ( ) を指すレコードとしてkevinsuttle.com
との両方があります。www.kevinsuttle.com
A
@
DNS簡易レコード
| | タイプ | 名前 | TTL | コンテンツ | |------ |--------------------- |--------------- |---- -------------------- | | | URL | www.kevinsuttle.com | 3600 (1 時間) | http://kevinsuttle.com |
Ghost の config.js で唯一変更された部分は、私のドメインです。
url: 'http://kevinsuttle.com',
ニンクス 1.9
nginx 1.9 は、デフォルトでは次のディレクトリを作成しません:
/etc/nginx/sites-available
/etc/nginx/sites-enabled
通常のdefault
conf は、これらのディレクトリのいずれにも作成されません。
代わりに、etc/nginx/conf.d/default.conf
と重要ながありetc/nginx/conf.d/nginx.conf
ます。default.conf を削除するように指示する多くのチュートリアルが表示されますが、これは問題ないように思われますが、何をするにしても、.conf を削除しないでくださいnginx.conf
。
ghost.conf
また、ディレクトリに移動/作成する必要があります/etc/nginx/conf.d/
。etc/nginx/conf.d/nginx.conf
の最後の行がディレクトリを検索し、/conf.d/
そこにファイルが含まれているため、それが私の問題の1つを修正したものです。include /etc/nginx/conf.d/*.conf;
これが私の/etc/nginx/conf.d/ghost.conf
ファイルです:
server {
root /usr/share/nginx/html;
index index.html index.htm;
listen 443 ssl http2;
server_name kevinsuttle.com www.kevinsuttle.com;
ssl_certificate /etc/letsencrypt/live/kevinsuttle.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/kevinsuttle.com/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
location ~ /.well-known {
allow all;
root /var/www/;
}
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header HOST $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://127.0.0.1:2368;
proxy_redirect off;
root /var/www/;
}
location /.well-known/ {
root /var/www/;
}
}
server {
listen 80 ssl http2;
server_name kevinsuttle.com;
return 301 https://$host$request_uri;
}
これですべて正常に動作し、http/2 経由でサービスを提供するために、nginx を 1.9+ にアップグレードしようとしました。DigitalOcean のワンクリック ゴースト ドロップレットは、デフォルトで nginx 1.4 を使用します。
簡単に言えば、私はこのエラーを受け取り続けました:
dpkg: error processing archive /var/cache/apt/archives/nginx_1.9.9-1~trusty_amd64.deb (--unpack):
そして私が見つけた唯一の解決策は
apt-get purge nginx nginx-common
/etc/apt/source.listファイルに次の行を追加することで、nginx 1.9 をインストールできました。
deb http://nginx.org/packages/mainline/ubuntu/ trusty nginx
deb-src http://nginx.org/packages/mainline/ubuntu/ trusty nginx
listen 80 ssl http2;
これで、 andを追加するだけlisten 443 ssl http2;
で、http/2 が正常に動作するようになりました。ただし、https://
URL が明示的に入力されている場合のみ。
が をサポートしていないという事実を示すいくつかの証拠を見つけましたが、私はそれについて 100% ではありません。express
http/2
どんなアイデアでも大歓迎です。