Centos 7 下 Nginx反向代理https配置
2018-01-19 00:07
543 查看
需求来源
一个Java开源博客solo,内置jetty,同时也可以容器部署,之前是部署在Tomcat容器里面的,今天看到腾讯云卖证书广告,突然想到https出来这么久,自己还没有尝试过,还可以借此机会学习一下如何部署https证书和nginx反向代理,之后做的一些网站可能都需要用的上。技术选择
因为solo可用内置端口也可以部署到容器里面,所以我们这里可以选择通过Tomcat配置证书,也可以使用nginx监听80端口,监听来自www.qfql.me 域名的请求代理到本地8080端口,在nginx上通过监听443端口配置https证书。当然了,最后我们选择了后者,这样的话对以后服务器上的应用影响更小一点,未来无论我们有什么架构的web程序,都可以开不同的端口通过nginx代理过去,如果使用Tomcat容器的话就只能部署Java项目了。
部署安装
centos 7 下的 nginx安装nginx官网下载压缩包到本地,不推荐yum install 形式的安装,ubantu 14.04+下是会自带ssl模块的,centos 7 不知道会不会自带(我是之前yum装的,结果可以代理过去,https死活无法访问,后来我又把原来的卸载了重新编译安装的)。
如果你在你要安装的机器上可以执行下面命令
**wget [http://nginx.org/download/nginx-1.12.2.tar.gz](http://nginx.org/download/nginx-1.12.2.tar.gz)**
yum install gcc-c++
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel
上面四个install如果本机没有的话要装上,nginx依赖编译、正则、压缩、ssl等,重点是ssl,一定要装上,不然后面编译ssl模块的时候会报错。
然后解压之前下载的nginx安装包,
tar -zxvf nginx-1.12.2.tar.gz
进入到目录中
cd nginx-1.12.2
配置编译模块
./configure --with-ipv6 --with-http_ssl_module
make
make install
若果没报错的话就安装完成了,在启动nginx之前先去掉nginx配置文件第一行user nobody前面的注释,不然无法运行,我的配置文件路径在
/usr/local/nginx/conf/nginx.conf
执行
/usr/local/nginx/sbin/nginx就可以启动nginx了,访问这个机器的80端口就会看到nginx的欢迎页面了
https证书配置
先要申请一个免费证书,网上搜一搜就有了,我是在腾讯腾讯https证书申请申请的免费证书,备案过的域名很快就下来了,一个小时差不多就弄好了
在申请下来的证书文件中你会拿到两个后缀名为crt和key的文件,把这两个文件上传到你的服务器上保存好
然后编辑 nginx的nginx.conf文件配置,在配置文件的http配置中添加如下两个server,把对应的域名和证书地址提换成你的就可以了
server { listen 80; server_name www.qfql.me; rewrite ^ https://$http_host$request_uri? permanent; # force redirect http to https return 301 https://$http_host$request_uri; } server { listen 443 ssl; server_name www.qfql.me; ssl_certificate /Nginx/1_www.qfql.me_bundle.crt; ssl_certificate_key /Nginx/2_www.qfql.me.key; ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; location / { proxy_pass http://127.0.0.1:8080/; } }
修改完配置文件以后执行nginx -t测试配置文件是否正确,然后nginx -s reload生效,就可以愉快的使用https了
相关文章推荐
- Centos 7 上使用nginx为Node.js配置反向代理时错误:(13: Permission denied) while connecting to upstream
- nginx 反向代理https配置
- CentOS安装、配置Nginx反向代理
- Centos 6 下配置nginx 反向代理Google
- NGINX之——配置HTTPS加密反向代理访问–自签CA
- 如何在 CentOS 7 用 cPanel 配置 Nginx 反向代理
- 如何在 CentOS 7 用 cPanel 配置 Nginx 反向代理
- 给nginx配置https服务器并反向代理php
- nginx 反向代理http和https配置
- CentOS 6.5 64位下安装nginx,配置反向代理
- 如何在 CentOS 7 用 cPanel 配置 Nginx 反向代理
- Centos配置nginx反向代理8080端口到80端口
- NGINX配置HTTPS加密反向代理访问–自签CA
- CentOS云主机中Nginx反向代理http、https服务
- 如何在 CentOS 7 用 cPanel 配置 Nginx 反向代理
- 如何在 CentOS 7 用 cPanel 配置 Nginx 反向代理
- CentOS 配置 Nginx 反向代理
- centos下配置nginx反向代理tomcat等webserver
- Nginx的进程模型、反向代理配置、rewrite的使用、负载均衡配置、https配置、日志切割
- nginx 反向代理配置 nginx配置https