我需要为 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 不工作
您需要使用 443
将 www.example.co
添加到您的服务器块:
server {
.....
server_name example.co www.example.co;
.....
}
对于您的子域,建议为您的服务器块配置使用相同格式的另一个文件:一个服务器块用于 80,另一个用于 443。:)
我已经在我的服务器中添加了 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 不工作
您需要使用 443
将 www.example.co
添加到您的服务器块:
server {
.....
server_name example.co www.example.co;
.....
}
对于您的子域,建议为您的服务器块配置使用相同格式的另一个文件:一个服务器块用于 80,另一个用于 443。:)