私はdockerのウェブサイトを持っており、生産にはキャディを使用しています。これは私のCaddyfile
の設定です
mydomain.com {
proxy / Django:5000 {
header_upstream Host {Host}
header_upstream X-Real-IP {remote}
header_upstream X-Forwarded-Proto {scheme}
header_upstream X-CSRFToken {~csrftoken}
}
log stdout
errors stdout
gzip
}
この設定はmydomain.comを使用するとうまく機能しますが、IPでサーバーにアクセスしようとすると、次のエラーが返されます。
404 Site 156.130.11.8 is not served on this interface
*
、156.130.11.8
、:80
を使用してみました
* {
proxy / Django:5000...
...
156.130.11.8 {
proxy / Django:5000...
...
これもどれもうまくいっていません、これを解決する方法を知っている人はいますか?
編集:コードはここにあります: https://github.com/maguayo/Django-starter-api キャディ構成はcompose/production/caddy /私が実行している構成も「production.yml」にあります
Django settings.py
には、許可されたホストとしてmydomain.comのみがあり、IPではありませんか?そうすれば、サーバーは「このインターフェースでは提供されません」のようなものを返すはずであり、ドメイン名が使用されているときには返すべきではありません。キャディーではなく、ApacheでもUbuntuで同様の問題が発生しました。それは正しいので、キャディーの設定を変更しても問題が解決しない理由も説明します。
settings.py
のような行が必要です
ALLOWED_HOSTS = [IP, 'mydomain.com']
このパラメーターの詳細については、 ドキュメント内 を参照してください。
これがお役に立てば幸いです。