注意: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