IPアドレスをhttpsにリダイレクトする

IPアドレスをhttpsにリダイレクトする

私はUbuntuとNginxを使用しています。

私のウェブサイトはSSL保護の下でホストされています。

「https」に「s」がないドメイン名をブラウザに入力すると、「https」にリダイレクトされます。ただし、ドメインのIPアドレスを入力すると、「https」にリダイレクトされません。アドレスバーには「http://xxx.xxx.xxx.xxx」と表示されます。

そう思います:

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name _;
    return 301 https://$host$request_uri;
}

この問題は解決できますが、購入することはできません。

あなたの初心者...

ベストアンサー1

IPアドレスをserver_nameとして使用して別のサーバー部分を作成してみてください。サーバー名が明示的にドメイン名(_の代わりに)を表すようにすることをお勧めします。その後、新しいサーバー部分(IPアドレス)からドメイン名(ポート80と同じ)にリダイレクトされます。

たとえば、

server {
    server_name 12.34.56.178;

    listen 80;
    listen 443 ssl;
    listen [::]:80;
    listen [::]:443 ssl;

    return 301 https://example.com;
}

...そしてnginxを再起動することを忘れないでくださいsystemctl restart nginx

これを試してテストするためにブラウザを再起動してみましたか?ブラウザキャッシュがあると、コンテンツをデバッグするのが難しい場合があります。したがって、私はテストに使用することを好みwget -O- http://12.34.56.78ますcurl -o- http://12.34.56.78

おすすめ記事