生成自签名SSL证书,使用https访问本地服务

首先文章的目的是为了用 https:xxx.com 域名访问一个本地服务(vue项目)

以下操作都是基于windows系统,假如咱们的vue项目本地启动后使用的 8010 端口

如果不要求https的话其实很简单,两个步骤即可

一、添加hosts配置

找到hosts文件,我的路径是:C:\Windows\System32\drivers\etc,添加下面这行代码保存

127.0.0.1 xxx.com

二、添加nginx配置

找到nginx配置文件,我的路径是:D:\Program Files\nginx\conf\nginx.conf,在http下添加一个server(其中8010是本地服务使用的端口号),添加完配置重启nginx即可通过 xxx.com 访问本地服务了

server {

    listen       80;
    server_name  xxx.com;

    location / {
        proxy_pass http://127.0.0.1:8010;
    }
}

但是某些情况下需要使用https访问本地服务,就需要配置ssl证书了

一、安装 OpenSSL

下载地址:slproweb.com/products/Wi…

我是下载了exe安装的

image.png

二、生成私钥和证书

1、打开终端工具,进入OpenSSL的安装目录,我的目录:D:\Program Files\OpenSSL\bin,执行以下命令可以生成一个私钥文件

生成一个文件名为private.key的2048位私钥文件,文件名可以自定义

.\openssl genrsa -out private.key 2048

2、生成证书签名请求(CSR)

运行以下命令生成证书签名请求文件(CSR),在运行此命令时,你需要提供一些相关信息,如国家/地区、组织、常用名称等。这些信息将被包含在生成的CSR文件中

.\penssl req -new -key private.key -out csr.csr

3、生成自签名的SSL证书

自签名的SSL证书通常不适用于正式的公共网站,因为它们没有通过由受信任的第三方证书颁发机构(CA)进行签名和验证。

这将生成一个名为”certificate.crt”的自签名SSL证书文件,有效期为365天。private.key就是前面生成的私钥文件

.\openssl x509 -req -days 365 -in csr.csr -signkey private.key -out certificate.crt

现在就可以在在bin目录下看到这两个文件private.key、certificate.crt

三、nginx使用证书

首先找到nginx的安装目录,我的是:D:\Program Files\nginx,在文件夹下创建ssl文件夹,把证书和私钥文件copy到ssl中

Image.png

然后打开conf/nginx.conf文件修改配置

1、确保以下指令存在且未被注释

http {
    ...
    include mime.types;
    default_type application/octet-stream;
    ...
}

2、修改 server 块中参数 启用 SSL:

server {

    listen       443 ssl;
    server_name  xxx.com;

    
    ssl_certificate     ../ssl/certificate.crt;
    ssl_certificate_key ../ssl/private.key;
    location / {
        proxy_pass http://127.0.0.1:8010;
    }
}

修改完nginx配置,重启nginx,现在就可以使用 xxx.com 访问本地服务了

第一次访问时会出现一个警告【您的连接不是私密连接】,不要慌,点高级、继续前往即可

© 版权声明
THE END
喜欢就支持一下吧
点赞0

Warning: mysqli_query(): (HY000/3): Error writing file '/tmp/MYzZAWHm' (Errcode: 28 - No space left on device) in /www/wwwroot/583.cn/wp-includes/class-wpdb.php on line 2345
admin的头像-五八三
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

图形验证码
取消
昵称代码图片