由于项目需要 负载均衡由NBL 转成nginx 反向代理。考虑都是https模块,所以证书成了个难题。
解决方案:
1.下载openssl(windows 安装包)
2.打开bin/下面的openssl.exe
3.再原来的IIS上面把证书导出.pfx(域服务器证书申请,主要适用域内)
4.利用openssl 进行转化:
openssl pkcs12 -in server.pfx -nodes -out server.pem # 生成明文所有内容
openssl rsa -in server.pem -out server.key # 取 key 文件
openssl x509 -in server.pem -out server.crt # 取证书
5.nginx 上面开始配置:
upstream backend
{
#ip_hash;
server 10.1.0.245:81;
server 10.1.0.42:81;
}
server {
listen 80;
listen 443 ssl;
server_name office.dahuatech.com;
ssl_certificate server.crt;
ssl_certificate_key server.key;
#ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
#ssl_prefer_server_ciphers on;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http://backend;
#Proxy Settings
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
proxy_max_temp_file_size 0;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}
按照上面配置就可以。这样域内所有的用户都可以在信任证书内。
记录下 送给需要的人
OPENSSL 安装包下载:Win32OpenSSL-0_9_8l.zip