[英]nginx redirect www to non-www
我的服务器上有 nginx 配置,但是如果使用 example.com 直接访问我的域,我将面临 url 的问题。
另外,如果我尝试使用 www.example.com 直接访问它,它将无法正常工作,并且我收到了此消息
所以主要我有两个问题:将非http重定向到https并将www重定向到非www
我的服务器运行 nodejs 应用程序
无法访问此站点 www.example.com 的服务器 IP 地址无法找到。 DNS_PROBE_FINISHED_NXDOMAIN
server {
listen 80;
listen 443 ssl;
server_name www.example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # managed by Certbot
return 301 $scheme://example.com$request_uri;
}
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://127.0.0.1:8080;
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;
proxy_redirect off;
}
location /api {
proxy_pass http://127.0.0.1:3000;
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;
proxy_redirect off;
}
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/example.com/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
}
要重定向到 https,您应该有一个包含所有配置的服务器块并listen 443 ssl;
在其中,以及另一个配置如下的服务器块:
server {
return 301 https://$host$request_uri;
server_name example.com
listen 80;
}
www 站点是一个不同的域,您应该在 dns 服务器中设置 ip 地址。 您对 www 站点的配置看起来不错
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.