本地生成秘钥和证书
生成秘钥
生成秘钥是生成证书的前提
-
使用git的命令行工具(或者
cmder
)输入一下命令: 其中privatekey.pem
为秘钥名称, 可自行设置 -
注意使用
cmd
命令行是不行的,cmd
命令行并不能识别openssl
命令
openssl genrsa -out private.key 1024/2038
回车后会在当前目录生成一个文件: private.key
秘钥文件
使用秘钥生成证书
- 在
git
的命令行下输入以下命令: 其中-days 365
表示证书有效期为365天;privatekey.pem
就是刚才生成的秘钥
openssl req -new -x509 -key private.key -out cert.pem -days 365
回车后, 按照提示输入对应信息; 其中Common Name (e.g. server FQDN or YOUR name) []:
这项不能随便输入(言外之意, 其他选项可以随意输入), 必须输入你即将开启https
服务的域名, 比如:*.duans.top
表示对所有二级域名均生效, 也可以输入一个具体的域名, 比如: www.duans.top
信息输入完成后, 会在当前目录下生成一个文件: server.pem
证书文件
配置nginx
搭建https
服务
-
在
nginx
的安装目录下新建一个目录key
;将刚才生成的文件拷贝到该目录下(原则上放在任何目录都可以, 只要不删除即可) -
开始配置
nginx
服务器, 打开nginx
服务器的配置文件conf/nginx.conf
, 在server
配置节点下添加如下配置(其中+为新增配置项)
server {
#一定要监听443端口
listen 443;
#自己的域名
server_name www.duans.top;
+ ssl on;
#证书路径
+ ssl_certificate /path/to/server.pem;
#秘钥路径
+ ssl_certificate_key /path/to/privkey.pem;
}
# 虚拟主机的完整配置
server {
listen 443 ssl;
server_name www.duans.cc;
ssl_certificate cert/server.pem;
ssl_certificate_key cert/privatekey.pem;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
root html;
index index.html index.htm;
}
}
- 重启
nginx
服务器即可生效
如果在访问过程中浏览器提示没有建立安全链接等字样
, 可忽略, 继续访问即可
将nginx加入到系统服务
-
解压后将最新的1.9版本重命名为“
mynginx.exe
” 并将其放到nginx
根目录下 -
新建一个文本文档
mynginx.xml
内容如下:(里面的路径根据自己的情况修改) 同样放到nginx
根目录下
<service>
<id>nginx</id>
<name>nginx</name>
<description>nginx</description>
<executable>C:\webService\nginx-1.15.8\nginx.exe</executable>
<logpath>C:\webService\nginx-1.15.8\logs</logpath>
<logmode>roll</logmode>
<depend></depend>
<startargument>-p C:\webService\nginx-1.15.8</startargument>
<stopargument>-p C:\webService\nginx-1.15.8 -s stop</stopargument>
</service>
nginx-dir.png
- 管理员运行
cmd
,cd进入nginx
目录,执行如下命令:mynginx.exe install
命令行启动nginx服务
-
启动
net start nginx
-
停止
net stop nginx
图形界面启动nginx
-
windows+R打开命令行
-
输入
ui-option-nginx.pngservices.msc
命令; 打开系统服务列表,, 找到nginx
服务, 如图所示
网友评论