同様のトピックに関する他の質問があることは知っていますが、私の特定の問題を解決できる解決策はどこにも見つかりません。ここでの違いは、異なるサイトを持つ複数のドメインです。
私はNginxを複数のドメインでセットアップしています:example1.com
とexample2.com
。また、次の「デフォルト」ホストファイルもあります。「Nginx へようこそ!」のデフォルト Web ページ。
次のようないくつかの異なる構成を試しました:
# 1
server {
server_name example2.com www.example2.com;
listen 80;
return 301 https://example2.com$request_uri;
}
server {
server_name example2.com www.example2.com;
listen 443 default_server;
ssl_certificate /etc/letsencrypt/live/example2.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example2.com/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
}
# 2
server {
server_name example2.com www.example2.com;
listen 80;
listen 443
return 301 https://example2.com$request_uri;
ssl_certificate /etc/letsencrypt/live/example2.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example2.com/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
}
1
結果は次のようになります:
- http://例2.com リダイレクト先https://例2.com の「ようこそ」ページを表示
- http://例1.com リダイレクト先https://例2.com の「ようこそ」ページを表示
- https://例1.com の実際のコンテンツの例を表示1.com
2
結果は次のようになります:
- http://例2リダイレクトループのある.com
- https://例2リダイレクトループのある.com
- http://例1.com リダイレクト先http://例2リダイレクトループのある.com
- https://例1.com の実際のコンテンツの例を表示1.com
のコンテンツをexample2.com
デフォルトの「Welcome」フォルダに置くことはできません。そうしないと、 に影響しますexample1.com
。
答え1
Richard Smith のおかげで、自分が何を間違えたのかが分かりました。ルートの場所を正しく含めていませんでした。他の人の役に立つかもしれないので、正しいファイルを以下に示します。
# example2.com.conf:
server {
server_name example2.com www.example2.com;
listen 80;
return 301 https://example2.com$request_uri;
# What I was missing:
root /var/www/example2-com;
}
server {
server_name example2.com www.example2.com;
listen 443 ssl;# default_server;
# What I was missing:
root /var/www/example2-com;
ssl_certificate /etc/letsencrypt/live/example2.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example2.com/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
}
# example1.com.conf:
server {
server_name example1.com www.example1.com;
listen 80;
return 301 https://example1.com$request_uri;
# What I was missing:
root /var/www/example1-com;
}
server {
server_name nerd.ink www.nerd.ink;
listen 443 ssl; # default_server;
# What I was missing:
root /var/www/example1-com;
ssl_certificate /etc/letsencrypt/live/example1.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example1.com/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
}