我正在尝试部署前端、后端、db 和 nginx 容器以使两个网站正常工作(kittygram2.ddns.net 和 nikitushu2.ddns.net)。
在 /etc/nginx/sites-available/ 中只有一个文件 - 默认。
/etc/nginx/sites-available/default:
server {
listen 80;
server_name nikitushu2.ddns.net kittygram2.ddns.net;
# Redirect HTTP to HTTPS
return 301 https://$host$request_uri;
}
server {
server_name 84.201.155.126 nikitushu2.ddns.net;
location / {
proxy_pass http://127.0.0.1:8000;
proxy_http_version 1.1;
proxy_cache_bypass $http_upgrade;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Port $server_port;
}
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/nikitushu2.ddns.net/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/nikitushu2.ddns.net/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
server {
server_name 84.201.155.126 kittygram2.ddns.net;
location / {
proxy_pass http://127.0.0.1:9000;
proxy_http_version 1.1;
proxy_cache_bypass $http_upgrade;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Port $server_port;
}
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/kittygram2.ddns.net/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/kittygram2.ddns.net/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
sudo nginx -t:
nginx: [warn] conflicting server name "84.201.155.126" on 0.0.0.0:443, ignored
nginx: [warn] conflicting server name "84.201.155.126" on 0.0.0.0:80, ignored
nginx: [warn] conflicting server name "84.201.155.126" on 0.0.0.0:80, ignored
nginx: [warn] conflicting server name "kittygram2.ddns.net" on 0.0.0.0:80, ignored
nginx: [warn] conflicting server name "84.201.155.126" on 0.0.0.0:80, ignored
nginx: [warn] conflicting server name "nikitushu2.ddns.net" on 0.0.0.0:80, ignored
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
我尝试修复默认文件,但没有任何效果。
我认为同一服务器中有多个关联的 Web 服务器配置文件。
如果您想在 HTTP 和 HTTPS 上提供相同的内容,请考虑使用带有两个监听指令的单个服务器块:
server {
listen 80;
listen 443 ssl;
server_name example.com;
ssl_certificate /path/to/ssl_certificate.crt;
ssl_certificate_key /path/to/ssl_certificate.key;
}
进行必要的更改后,保存配置文件,然后测试 Nginx 配置以确保其有效:
$ sudo nginx -t
如果测试成功,重新加载Nginx以应用新配置:
$ sudo 服务 nginx 重启