使用nginx搭建https环境

  • 来源:
  • 更新日期:2018-05-09

摘要:摘要: nginx是我们在项目中常用的反向代理服务器,简单介绍nginx的安装以及使用Le`s Encryprt证书搭建https环境

环境,centos32位6.5

1.安装nginx

你可以选择直接使用 sudo yum install nginx进行安装,不过我们这里采用下载文件编译的方式进行安装

002UASMrzy7605pjKJv15&690.jpg

nginxh

通过 wget下载后解压

进入nginx目录 :指定对应路径 并开启http_ssl_module模块

./configure

--with-openssl=/home/kite/libs/openssl-1.0.2h--with-pcre=/home/kite/libs/pcre-8.37--with-zlib=/home/kite/libs/zlib-1.2.8

--with-http_stub_status_module--with-http_ssl_module--with-http_realip_moduleran

make & make install

可以 -prefix 指定默认安装路径,不指定默认安装在/usr/local/nginx目录下修改配置文件

其中证书使用let`s Encrypt免费证书,https://www.sslforfree.com/ 提供证书生成, 你也可以选择自己生成(默认只有采用代码的方式),注该证书3个月有限期

worker_processes 1;
error_log logs/error.log;
pid logs/nginx.pid;
worker_rlimit_nofile 65535;
events {
use epoll;
worker_connections 65535;
}
http {
include mime.types;
default_type application/octet-stream;

sendfile on;
tcp_nopush on;
tcp_nodelay on;

keepalive_timeout 60;

#... ...#

gzip on;
gzip_vary on;

gzip_comp_level 6;
gzip_buffers 16 8k;

gzip_min_length 1000;
gzip_proxied any;
gzip_disable "msie6";

gzip_http_version 1.0;

gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript image/svg+xml;
upstream www.kite.live {
server localhost:8080;
}
upstream pan.kite.live {
server localhost:8081;
}

server {
listen 443;
server_name pan.kite.live;
ssl on;
#为虚拟主机指定pem格式的证书文件
ssl_certificate /home/kite/ssl/files/certificate.crt;
#为虚拟主机指定私钥文件
ssl_certificate_key /home/kite/ssl/files/private.key;
#客户端能够重复使用存储在缓存中的会话参数时间
ssl_session_timeout 5m;
#指定使用的ssl协议
ssl_protocols SSLv3 TLSv1;
#指定许可的密码描述
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
#SSLv3和TLSv1协议的服务器密码需求优先级高于客户端密码
ssl_prefer_server_ciphers on;
location / {
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_pass http://pan.kite.live;
}
}
server {
listen 443;
server_name kite.live www.kite.live;
#为一个server开启ssl支持
ssl on;
#为虚拟主机指定pem格式的证书文件
ssl_certificate /home/kite/ssl/files/certificate.crt;
#为虚拟主机指定私钥文件
ssl_certificate_key /home/kite/ssl/files/private.key;
#客户端能够重复使用存储在缓存中的会话参数时间
ssl_session_timeout 5m;
#指定使用的ssl协议
ssl_protocols SSLv3 TLSv1;
#指定许可的密码描述
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
#SSLv3和TLSv1协议的服务器密码需求优先级高于客户端密码
ssl_prefer_server_ciphers on;
location / {
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_pass http://www.kite.live;
}
}
server {
listen 80;
server_name www.kite.live kite.live;
location / {
rewrite ^/(.*)$ https://www.kite.live/$1 permanent;
}
}
server {
listen 80;
server_name pan.kite.live;
location / {
rewrite ^/(.*)$ https://pan.kite.live/$1 permanent;
}
}

}