nginx配置SSL后无法访问?

我想用自签证书来做SSL加密。

我用了下面的方案:

# 创建存放证书的目录
mkdir /usr/local/ssl

cd /usr/local/ssl

# 创建服务器私钥,命令会让你输入一个口令。
openssl genrsa -des3 -out server.key 1024
# 再生成一个不带密码的私钥
# openssl rsa -in server.key -out server-nopassword.key

# 创建签名请求的证书(CSR)
openssl req -new -key server.key -out server.csr

#生成秘钥
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

# 再生成一个不带密码的私钥
# openssl x509 -req -days 365 -in server.csr -signkey server-nopassword.key -out server-nopassword.crt

原文链接:https://blog.csdn.net/cxy35/article/details/106277053

nginx配置:

...
server {
    listen       443 ssl;
    listen       8000;
    ssl_certificate     /usr/local/ssl/server-nopassword.crt;
    ssl_certificate_key /usr/local/ssl/server-nopassword.key;

    #...
}
...

然后nginx配置用不带密码的server-nopassword.crtserver-nopassword.key文件,访问https是可以的。

但是,我把配置文件的证书和key改成带密码的,即server.crtserver.key 以后就不能访问了:

...
server {
    listen       443 ssl;
    listen       8000;
    ssl_certificate     /usr/local/ssl/server.crt; #修改为带密码的
    ssl_certificate_key /usr/local/ssl/server.key; #

    #...
}
...

另外,如果访问没有https的8000端口,服务器是有响应的。

我把服务端的crt证书安装到chrome的信任证书中,但也没有反应。

这个问题应该怎么解决呢?

阅读 3.4k
1 个回答
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题