简体   繁体   English

Nginx子域配置Letsencryt通配符HTTPS证书

[英]Nginx subdomain configuration Letsencryt wildcard HTTPS certificate

What I want to do ? 我想做的事 ?

I have two application on local ports and I want to access them like that : 我在本地端口上有两个应用程序,我想像这样访问它们:

  • maindomain.com -> node.js app maindomain.com- > node.js应用
  • sub.maindomain.com -> .net core app sub.maindomain.com- > .net核心应用

My DNS config 我的DNS配置

  • maindomain.com (A Record) 11.111.11.111 maindomain.com (A记录) 11.111.11.111
  • sub.maindomain.com (A Record) 11.111.11.111 sub.maindomain.com (A记录) 11.111.11.111

Nginx config Nginx配置

/etc/nginx/sites-enabled/maindomain.com (linked from ./sites-available/) /etc/nginx/sites-enabled/maindomain.com(从./sites-available/链接)

upstream node_app{
        # node.js running
        server 127.0.0.1:8000;
}

server{
    listen 80;
    server_name www.maindomain.com maindomain.com;
    #Redirige toutes les requêtes http vers https
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    ssl_certificate /etc/letsencrypt/live/maindomain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/maindomain.com/privkey.pem;

    server_name www.maindomain.com maindomain.com;

    location / {
        include proxy_params;
        proxy_pass http://node_app;
    }
}

/etc/nginx/sites-enabled/sub.maindomain.com (linked from /sites-available/) /etc/nginx/sites-enabled/sub.maindomain.com(从/ sites-available /链接)

upstream core_api{
        # Asp.net core API running in background
        server 127.0.0.1:5000;
}

server{
    listen 80;
    server_name www.sub.maindomain.com sub.maindomain.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    ssl_certificate /etc/letsencrypt/live/maindomain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/maindomain.com/privkey.pem;

    server_name www.sub.maindomain.com sub.maindomain.com;

    location / {
        include proxy_params;
        proxy_pass http://core_api;
    }
}

Result : After that, I have restarted my nginx service. 结果:之后,我重新启动了Nginx服务。 Requests on sub.maindomain.com just redirect on maindomain.com. sub.maindomain.com上的请求仅重定向到maindomain.com。

What did I missed ? 我错过了什么?

Well it looks like you forgot: 好吧,好像您忘记了:

server_name www.api-accropolis.maindomain.com api-accropolis.maindomain.com;

... in SSL server in /etc/nginx/sites-enabled/sub.maindomain.com ...在/etc/nginx/sites-enabled/sub.maindomain.com SSL server

And you also forgot: 而且您还忘记了:

server_name www.maindomain.com maindomain.com;

... in SSL server in /etc/nginx/sites-enabled/maindomain.fr ...在/etc/nginx/sites-enabled/maindomain.fr SSL server

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM