【发布时间】:2019-07-15 19:20:44
【问题描述】:
我有 2 个域,我的 nginx 配置如下。当我输入 example.com 时,网站使用 ssl 打开没有任何问题,但如果我输入 example.nl 浏览器会给出“您的连接不是私有的”警告。
我通过更改配置测试了两个域证书,并且两者都单独工作没有问题。
有什么问题?我该如何解决?
upstream website {
server web:8000;
}
server {
listen 80;
server_tokens off;
server_name *.example.com *.example.nl;
location / {
return 301 https://$host$request_uri;
}
}
server {
listen 443 ssl;
server_name *.example.com;
server_tokens off;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
# serve static files
location /static/ {
alias /static/;
}
# serve media files
location /media/ {
alias /media/;
}
location / {
proxy_pass http://ourwebsite;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
server {
listen 443 ssl;
server_name *.example.nl;
server_tokens off;
ssl_certificate /etc/letsencrypt/live/example.nl/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.nl/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
# serve static files
location /static/ {
alias /static/;
}
# serve media files
location /media/ {
alias /media/;
}
location / {
proxy_pass http://website;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
【问题讨论】:
-
您是否尝试过添加为可用站点中的另一个站点,而不是同一站点中的另一个服务器?
-
查看此链接作为示例。我认为 nginx 将使用最后定义的任何内容stackoverflow.com/questions/33055212/…
-
我在 docker contains 中运行 nginx,我在 etc 中检查了 sites-available 文件夹,它不存在。
-
/etc/nginx/sites-available/
-
是的,我检查了同一个目录。我想我应该能够用单个配置文件解决这个问题。他们说分离配置文件只是上述问题中的一种约定。
标签: ssl nginx devops lets-encrypt nginx-config