让它让nginx始终拥有使用https的网站



注意:example.com 就是这样。根据堆栈溢出的规则,我没有使用实际的域。

我一直在尝试获取它,因此我的单个站点的nginx服务器始终使用https。

我已安装证书,如果我查看站点:

https://www.example.com 它工作正常。

但默认情况下,它会转到 http 并将站点显示为不安全。

这是配置:

server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
root /var/www/nodeapp;
index index.html index.htm;
server_name www.example.com example.com;
location / {
proxy_pass https://[IP address here]: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;
}
}

我迫切地希望一切都指向 https://www.example.com

因为您的网站同时具有http和https。(80 端口和 443 端口(。
要激活唯一的https您必须删除 http 的配置。
请删除listen 80并改用listen 443
如果要将所有流量重定向到https, 您可以添加重定向配置,如下所示。

server{
if ($host = your_domain) {
return 301 https://$host$request_uri;
}
server_name  your_domain;
listen 80;
return 404; 
}

我假设您的配置在您的主配置中ssl部分。
例如

listen 443 ssl;
ssl_certificate /etc/***/fullchain.pem; 
ssl_certificate_key /etc/**/privkey.pem; # managed by Certbot
ssl_dhparam /etc/**/ssl-dhparams.pem; # managed by Certbot

最新更新