nginx使用ssl模块配置支持HTTPS访问 (nginx 六)
安装nginx
安装教程:https://blog.csdn.net/dengjili/article/details/88626321
测试结果,安装成功

删除刚刚测试成功的nginx安装的目录

然后回到安装包目录

添加ssl模块
https需要依赖于nginx的ssl模块,所有需要安装
默认情况下ssl模块并未被安装,如果要使用该模块则需要在编译nginx时指定–with-http_ssl_module参数.
命令
yum install openssl
yum install openssl-devel
重新编译nginx
需要到nginx安装包路径下面执行命令,注意一定要停掉nginx,不然会有问题
执行命令
./configure --prefix=/app/nginx --with-http_ssl_module
## 重编译一下
make & make install
创建https中的公私钥及其证书(使用openssl)
先找找个路径,存储key,当前路径为
/app/nginx/key
服务器私钥
执行命令
openssl genrsa -des3 -out server.key 1024
会输入密码,这里随便输入,一会儿删掉,创建成功后,出现一个server.key文件

创建客户端公钥
执行命令
openssl req -new -key server.key -out server.csr
过程中会填写一个组织单位信息,随便填写,操作完后生成公钥文件server.csr

删除私钥设置的秘钥
执行命令
cp server.key server.key.org
openssl rsa -in server.key.org -out server.key

生成浏览器证书
执行命令
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

可以把服务器上的证书导入浏览器中

浏览器会报不可用证书,因为证书要放在可信的机构上
配置nginx的配置信息
修改nginx.conf文件
worker_processes 1;
events {worker_connections 1024;
}http {include mime.types;default_type application/octet-stream;sendfile on;keepalive_timeout 65;server {listen 443;server_name localhost;ssl on;ssl_certificate /app/nginx/key/server.crt;ssl_certificate_key /app/nginx/key/server.key;ssl_session_timeout 5m;ssl_protocols SSLv2 SSLv3 TLSv1;ssl_ciphers HIGH:!aNULL:!MD5;ssl_prefer_server_ciphers on;location / {root html;index index.html index.htm;}}
}
启动,测试


可以访问https

因为浏览器没有证书的原因

配置一个80端口http转发
server {listen 80;server_name localhost;rewrite ^(.*)$ https://$host$1 permanent;}

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
