是否可以在浏览器中创建自己的SSL证书?因此,如果用户进入我的网站,他们不需要信任我的网站。就像专业网站一样?
我正在使用nginx。
答案 0 :(得分:1)
您无法创建一个,因为您不是浏览器信任的证书颁发机构。
你可以做的是从Let'sEncrypt获得一个免费的。你必须每90天更新一次,但你可以很容易地在cronjob上进行更新
答案 1 :(得分:0)
如果您想创建自己的证书颁发机构,我无法帮助您。但如果你只想要一个免费的SSL证书,这很简单:你可以使用Letsencrypt。 例如,如果您具有对服务器的SSH访问权限,则可以使用Certbot。
然后只需下载它以供您分发并输入:
./certbot-auto certonly --webroot -w /var/www/your_web_root -d yourdomain.com
然后您需要做的就是更改您的nginx站点配置,以便它支持SSL。
你可以在github上查看我的例子:
https://github.com/NLDev/dotfiles/blob/master/nginx.conf
此配置在SSL-Labs测试中获得A +。
或者你可以使用这个精简版:
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name example.com;
return 301 https://example.com$request_uri;
location ~ /.well-known {
allow all;
}
}
server {
listen 443 ssl default_server;
root /var/www/example.com/public_html;
index index.html index.htm index.php;
server_name example.com;
ssl on;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
location /.well-known/acme-challenge {
root /var/www/letsencrypt;
}
location ~ /.well-known {
allow all;
}
}
将example.com替换为您的域并更改
/var/www/example.com/public_html;
到你的webroot。
答案 2 :(得分:0)
您可以创建自己的自签名证书,但由于浏览器列表中缺少根证书,浏览器不会信任它。浏览器仅信任由第三方证书颁发机构颁发的预安装的受信任根证书。
每个浏览器使用一组不同的证书颁发机构(CA)证书。您可以检查主要浏览器的受信任根证书。
Firefox:https://www.mozilla.org/en-US/about/governance/policies/security-group/certs/included/
Chrome:http://www.chromium.org/Home/chromium-security/root-ca-policy
Opera:https://certs.opera.com/
您应该从浏览器识别的受信任证书颁发机构获取SSL证书。要在您的nginx服务器上安装SSL,您可以遵循此快速指南 - https://www.ssl2buy.com/wiki/how-to-install-ssl-certificate-on-nginx-server