
そこで、私はドメインを取得しました。suputamadre.es
Google Cloudインスタンスを起動し、IP(1.2.3.4など)を割り当てました
0.0.0.0:80でリッスンするためにDjangoサーバーを起動しました
Chromeで接続しようとしてhttp://1.2.3.4またはhttp://1.2.3.4:80そしてそれは機能します。素晴らしい。
Google Cloud DNS にドメインを設定する (ドメインは GoDaddy から購入したため、ネームサーバーを Google Cloud に指定しました)
1.2.3.4を指すAレコードsuputamadre.esを設定します。
cmd で ping suputamadre.es を実行すると、1.2.3.4 が返されます。
ブラウザで suputamadre.es と入力すると、接続拒否エラーが返されますが、 suputamadre.es:80 は機能します。なぜでしょうか? このドメインを自分のサーバーにポイントするにはどうすればいいでしょうか? CNAME を試してみましたが、どちらも機能しませんでした...
ところで、2 つの同時サーバーを実行せずに SSL をサポートするために :80 と :443 の両方を指定する方法はありますか? または、SRV がブラウザーで機能しない場合、リダイレクトを使用せずにドメインを 1.2.3.4:8000 に指定することもできますか?
本当にありがとう。もう2日間このことで行き詰まっていて、グーグルで何をやってもうまくいかないようです。言うまでもなく、「DNS Aレジスタ」についてグーグルで検索すると、グーグルは私が話しているのが1つの登録する...
答え1
問題は部分的に解決したようです。http://suputamadre.esブラウザで「Django セットアップ完了」ページが表示されるので、動作しているようです。
:80と:443 SSLの質問に関しては、これは通常ポート80のリダイレクトで行われます。つまり、ユーザーが次のように入力します。http://suputamadre.esこれはポート80でウェブサーバーに受信され、ウェブサーバーはhttpにリダイレクトを送り返します。s://suputamadre.es (デフォルトではポート443で提供され、ブラウザは指定しなくてもこれを使用します)。この方法では、すべてのトラフィックがhttp経由で提供されます。sポート 443 で。ポート 80 へのものはすべてポート 443 にリダイレクトされます。
- Nginx でリダイレクトを設定するには、こちらを参照してください:Nginx では、サブドメインを維持しながらすべての http リクエストを https に書き換えるにはどうすればよいですか?
- Apache でリダイレクトを設定するには、こちらを参照してください:Apache で http から https にリダイレクトする
答え2
DrewZa が指摘したように、これらの目的には nginx を使用できます。これは優れた軽量 Web サーバーです。こちらをご覧ください:
Google Cloud Platform に NGINX Plus をインストールする
80 から 443 へのポート転送について:
nginx.conf ファイルにサーバー エントリを作成すると、次の操作を実行できます。
server {
listen 80;
server_name suputamadre.es;
proxy_set_header X-Real-IP $remote_addr;
location / {
rewrite ^ https://$host$uri permanent;
}
}
これにより、80から443へのすべてのリクエストがリダイレクトされます。