0
私は単一のドメインのためにこれらのルールを実装しようとしていると私はそれをオンラインで行うための適切な方法を見つけるように見えることはできません。Nginxでプロキシとしてリダイレクトするwwwとwwwとhttpとを正しく処理する方法
- ユーザーがHTTPをヒットした場合、場合
https://www.domain.com
- にリダイレクトユーザーがポートで特定のIPに
https://www.domain.com
ハンドルプロキシをヒットした場合、ユーザーは
はこれまでのところ、これは私が持っているものであるWWW
server {
listen 80;
server_name domain.io www.domain.io;
return 301 https://www.domain.io$request_uri;
}
server {
listen 443 ssl;
server_name www.domain.io;
ssl_certificate /etc/letsencrypt/live/domain.io/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/domain.io/privkey.pem;
#MORE SSL BLOCKS
#remnants, should I remove this?
root /var/www/html;
index index.html index.htm index.nginx-debian.html;
server_name _;
location/{
proxy_pass http://IP_ADDR:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
これを2つのサーバーブロックに追加しようとしました。
server {
listen 443;
server_name domain.io;
return 301 https://www.domain.io$request_uri;
}
これはwww以外でSSLを破棄します。
最初のブロックが動作しますが、それは私が考えた限りです。プロトコルを指定しないとhttpsにリダイレクトされますが、www以外のものはwww以外のものにリダイレクトされます。
ネットワーキングは私の専門ではありませんので、間違った用語を教えてください。
「domain.io」にSSLが有効になっていません。 'domain.io'の証明書を持っていますか? –
@リチャードスミスはい、私はSSLブロックがどこにあるかを宣言しました。それは、暗号化を使用しています。現在はhttpsとwwwの場合に動作します。 – Brian
@リチャードスミス私はあなたが何を意味するかを見ます。リダイレクトする前にsslプロパティを追加するとうまくいくようです。それを考えなかった。 – Brian