我需要为 node.js 项目使用 nginx 服务器设置我的域

i need to setup my domain with nginx server for node.js project

我已经在我的服务器中添加了 CNAME 和 A 记录,我也用 nginx 命令检查:

nginx -t

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

我为我的域 example.co & www.example.co 编写代码:/etc/nginx/sites-available/example.conf

server {
    listen 80;
    listen [::]:80;
    server_name example.co www.example.co;
    return 301 $scheme://www.example.co$request_uri;
}

server {
    listen 443 ssl http2 ;
    listen [::]:443 ssl http2 ;

    server_name example.co www.example.co;

    access_log /var/log/nginx/example-co.log;

    location / {
        proxy_pass "http://127.0.0.1:1000";
        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;
    }

    ssl_certificate /etc/letsencrypt/live/example.co/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.co/privkey.pem;
}

IP: 127.0.0.1:1000 node.js example.co 项目 我的问题是 example.co 工作正常但 www.example.co 不工作

我还为我的域 sub1.example.co & www.sub1.example.co 编写了代码:/etc/nginx/sites-available/sub1-example.conf

server {
    listen 80;
    listen [::]:80;
    server_name sub1.example.co www.sub1.example.co;
    return 301 $scheme://www.example.co$request_uri;
}

server {
    listen 443 ssl http2 ;
    listen [::]:443 ssl http2 ;

    server_name sub1.example.co www.sub1.example.co;

    access_log /var/log/nginx/sub1-example-co.log;

    location / {
        proxy_pass "http://127.0.0.1:2000";
        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;
    }

    ssl_certificate /etc/letsencrypt/live/example.co/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/example.co/privkey.pem; # managed by Certbot
}

IP: 127.0.0.1:2000 node.js sub1 的项目。example.co,

我的 sub1.example.co 不工作

您需要使用 443www.example.co 添加到您的服务器块:

server {
    .....
     server_name example.co www.example.co;
    .....
}

对于您的子域,建议为您的服务器块配置使用相同格式的另一个文件:一个服务器块用于 80,另一个用于 443。:)