nginx反向代理https总结

最近单位要把http改为https,其中有很多坑,包括但不限于nginx,在此总结一下。

一、安装

http://www.runoob.com/linux/nginx-install-setup.html

主要参考的是菜鸟教程的nginx安装教程,还参考了一些别的教程。主要需要注意的是编译安装nginx的时候加入http_stub_status_module、http_ssl_module这两个模块,还有pcre目录,因为这些是不包含在nginx的,需要自己手动编译进去。

./configure --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.35
make && make install

二、制作私发ssl证书

使用nginx的目的是使用https协议代理http网页,因此需要有ssl证书。证书有两种获取途径,一种是买,一种是自己给自己发。对于买来的证书,只要用户能访问颁证中心,用户就不需要额外安装证书,链接都是安全的;并且买来的证书可以做通配符证书,比如*.example.com。而对于私发证书,需要额外安装证书,并且由于担心网络劫持的风险(具体原因需要看https相关知识),需要通过邮件U盘等第三方途径将证书交给用户,由用户自行导入IE内“受信任的根证书颁发机构”证书存储目录(导入其他目录没用),且不能制作通配符证书,需要针对每个域名制作证书,十分繁琐。因此制作了如下脚本。

#!/usr/bin/bash
# create self-signed server certificate:
read -p "Enter your domain [www.example.com]: " DOMAIN
echo "Create server key..."
openssl genrsa -des3 -out $DOMAIN.key 2048
echo "Create server certificate signing request..."
#注意这里需要修改,参数可以是中文
SUBJECT="/C=CN/ST=省/L=市/O=公司CN=$DOMAIN"
openssl req -new -subj $SUBJECT -key $DOMAIN.key -out $DOMAIN.csr
echo "Remove password..."
mv $DOMAIN.key $DOMAIN.origin.key
openssl rsa -in $DOMAIN.origin.key -out $DOMAIN.key
echo "Sign SSL certificate..."
openssl x509 -req -days 3650 -in $DOMAIN.csr -signkey $DOMAIN.key -out $DOMAIN.crt
echo "DONE"

在nginx目录下新建conf/ssl文件夹,将生成的私发证书放入ssl目录。

三、配置nginx

待补充。。。。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值