nginx本地的测试环境添加SSL

要在本地添加SSL,首先要做的是防火墙是不是放开了443端口,同时,在nginx安装时是不是支持了ssl模块,这个安装网上很容易找到相关资料

防火墙,个人还是用iptables比较直观

先将selinux关掉,设置成disabled,同时去掉服务

安装iptables,同时设置好,一般的设置为

-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT

第一个是SSH端口

第二个是正常的http端口

第三个是SSL端口

第四个是数据库端口

设置好这些以后,我们在本地创建证书,这个证书到时并不是可信任的(可信任的要钱,本地测试而已,不要钱最好)

我的保存路径是/usr/local/nginx/ssl/

在这个目录下执行如下

openssl genrsa -des3 -out server.key 1024 //创建自身密钥 本地的虚拟机环境,1024够了,要是你想要更高的,就*2*2吧....
openssl req -new -key server.key -out server.csr  //通过密钥生成相应CSR申请文件 正规要钱的就要拿着这玩意去申请了,同时里面的内容还要认真填,本地测试的就算了,随便吧
openssl rsa -in server.key -out server.key //生成浏览器浏览网页时不需要输入密码的密钥 重写server.key,网上有人怕操作失误会重命名,看个人喜好了
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt//生成证书

都设置好后就是nginx的配置了
本地的配置,个人的如下

listen 80;
listen 443 ssl;
server_name *******;

#charset koi8-r;

#access_log logs/host.access.log main;

ssl_certificate /usr/local/nginx/ssl/server.crt;
ssl_certificate_key /usr/local/nginx/ssl/server.key;

location / {
root /usr/local/nginx/html/*******;
index index.html index.htm index.php;
}

接下来就不用说了,重启nginx,然后访问,O了

 

posted @ 2016-12-20 10:27  taui  阅读(1802)  评论(0编辑  收藏  举报