nginx-WebServer
来源:互联网 发布:学c4d 知乎 编辑:程序博客网 时间:2024/04/30 12:35
为nginx生成自签名ssl证书 (Storm: Verified)
openssl genrsa -des3 -out ssl.key 1024
然后他会要求你输入这个key文件的密码。不推荐输入。因为以后要给nginx使用。每次reload nginx配置时候都要你验证这个PAM密码的。
由于生成时候必须输入密码。你可以输入后 再删掉。
mv ssl.key xxx.key
openssl rsa -in xxx.key -out ssl.key
rm xxx.key
然后根据这个key文件生成证书请求文件
openssl req -new -key ssl.key -out ssl.csr
以上命令生成时候要填很多东西 一个个看着写吧(可以随便,毕竟这是自己生成的证书)
最后根据这2个文件生成crt证书文件
openssl x509 -req -days 3650 -in ssl.csr -signkey ssl.key -out ssl.crt
这里365是证书有效期 推荐3650哈哈。这个大家随意。最后使用到的文件是key和crt文件。
如果需要用pfx 可以用以下命令生成
openssl pkcs12 -export -inkey ssl.key -in ssl.crt -out ssl.pfx
在需要使用证书的nginx配置文件的server节点里加入以下配置就可以了。
ssl on;
ssl_certificate /home/ssl.crt;
ssl_certificate_key /home/ssl.key;
ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers on;
Note:
ssl_certificate
syntax: ssl_certificate file
default: ssl_certificate cert.pem
context: main, server
Indicates file with the certificate in PEM format for this virtual server. The same file can contain other certificates, and also secret key in PEM format. Since version 0.6.7 the file path is relative to directory of nginx configuration file nginx.conf, but not to nginx prefix directory.
ssl_certificate_key
syntax: ssl_certificate_key file
default: ssl_certificate_key cert.pem
context: main, server
Indicates file with the secret key in PEM format for this virtual server. Since version 0.6.7 the filename path is relative to directory of nginx configuration file nginx.conf, but not to nginx prefix directory.
ssl_client_certificate
syntax: ssl_client_certificate file
default: none
context: main, server
Indicates file with certificates CA in PEM format, utilized for checking the client certificates.
=============================
使用nginx搭建https服务器
最近在研究nginx,整好遇到一个需求就是希望服务器与客户端之间传输内容是加密的,防止中间监听泄露信息,但是去证书服务商那边申请证书又不合算,因为访问服务器的都是内部人士,所以自己给自己颁发证书,忽略掉浏览器的不信任警报即可。下面是颁发证书和配置过程。
首先确保机器上安装了openssl和openssl-devel
#yum install openssl#yum install openssl-devel
然后就是自己颁发证书给自己
#cd /usr/local/nginx/conf#openssl genrsa -des3 -out server.key 1024#openssl req -new -key server.key -out server.csr#openssl rsa -in server.key -out server_nopwd.key#openssl x509 -req -days 365 -in server.csr -signkey server_nopwd.key -out server.crt
至此证书已经生成完毕,下面就是配置nginx
server { listen 443; ssl on; ssl_certificate /usr/local/nginx/conf/server.crt; ssl_certificate_key /usr/local/nginx/conf/server_nopwd.key;}
然后重启nginx即可。
ps: 如果出现“[emerg] 10464#0: unknown directive "ssl" in /usr/local/nginx-0.6.32/conf/nginx.conf:74”则说明没有将ssl模块编译进nginx,在configure的时候加上“--with-http_ssl_module”即可^^
至此已经完成了https服务器搭建,但如何让浏览器信任自己颁发的证书呢?
今天终于研究捣鼓出来了,只要将之前生成的server.crt文件导入到系统的证书管理器就行了,具体方法:
控制面板 -> Internet选项 -> 内容 -> 发行者 -> 受信任的根证书颁发机构 -> 导入 -》选择server.crt
===================================================
- http://shouce.jb51.net/nginx/OptionalHTTPmodules/SSL.html (Storm: Detailed explanation)
- 生成带证书链的数字证书
- nginx配置ssl双向验证 nginx https ssl证书配置
- nginx-WebServer
- nginx 配置说明 [WebServer]
- FreeBSD Install Nginx Webserver
- cherokee ,nginx, lighttpd WebServer介绍
- cherokee ,nginx, lighttpd WebServer介绍
- nginx和apache作为webserver的区别
- webserver
- webserver
- webserver
- WebServer
- webserver
- WebServer
- webServer
- WebServer
- 【linux-WebServer】nginx学习3(nginx基础概念-connection)
- nginx webserver无环境变量如何执行启动、停止、重启
- 【linux-WebServer】nginx学习(CDSN就是用这个服务器)
- 【linux-WebServer】nginx学习2(信号与定时器)
- Intent的显式意图和隐士意图
- Android6.0 设备Idle状态(一)DeviceIdleController
- 技术交流群
- 完美主义的一点点体现
- ContactsUI(选择联系人).md
- nginx-WebServer
- hud 2022
- nginx安装
- oracle 分页优化
- linux常用命令—— 系统设置(八)
- Python基础语法
- Visual Studio 2012 编译错误【error C4996: 'scanf': This function or variable may be unsafe. 】的解决方案
- AWR Reports
- 生成一个url的二维码