最近碰到个需求,原来用http访问,由于被第三方植入广告;因此要将http变成https访问,若是用户用http访问先跳转到https,而后通过Nginx代理后以http的形式访问原来的程序,这样就不须要更改任何的代码了 ;html
在配置过程遇到几个小问题,通过多方查询,借鉴不少大佬的宝贵经验,最后得以一一解决;nginx
第一个问题:首先查看是否开启ssl模块:(若是未开通:启动nginx的可能会报错 nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf)浏览器
1 、切换到源码包:session
cd /usr/local/nginx/nginx-1.13.9ui
二、查看已安装的Nginx的已有模板:.net
/usr/local/nginx/sbin/nginx -V线程
个人查询结果是:configure arguments: --prefix=/usr/local/nginx (没有任何模板,我是新安装的Nginx)代理
三、执行命令:./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_moduleserver
会加载一系列的配置信息htm
四、完成后 make
五、而后备份原有已安装好的nginx
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
六、而后结束Nginx线程;
七、而后将刚刚编译好的nginx覆盖掉原有的nginx(这个时候nginx要中止状态)
cp ./objs/nginx /usr/local/nginx/sbin/
八、最后查看一次配置
/usr/local/nginx/sbin/nginx -V
个人变成了
第一个问题:关于没有ssl模板问题解决;
第二个问题:生成OPenssl生成证书 能够参考 https://blog.csdn.net/danfengw/article/details/62218937
//key的生成 , 建立私钥
一、openssl genrsa -des3 -out huai.key 2048
//csr的生成方法须要依次输入国家,地区,组织,email。最重要的是有一个common name,能够写你的名字或者域名。若是为了https申请,这个必须和域名吻合,不然会引起浏览器警报。
二、openssl req -new -key danfeng.key -out huai.csr
//下面的步骤是客户端的端私钥的生成和服务端证书的生成
三、openssl rsa -in danfeng.key -out huai_nopass.key
//自签署证书
四、openssl req -new -x509 -days 3650 -key huai_nopass.key -out huai.crt
找到conf文件夹,将openssl生成的 文件放到和conf同级目录下
第三个问题 :配置Nginx.conf文件
server {
# listen 80;
listen 443 ssl;
server_name localhost;
# ssl on;
ssl_certificate danfeng.crt;
ssl_certificate_key danfeng_nopass.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
# root html;
# index 50x.html index.htm;
proxy_redirect off;
proxy_set_header Host 192.168.1.220;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://192.168.1.220:8090;
}
}
server {
listen 80;
server_name localhost;(域名)
rewrite ^(.*)$ https://$host$1 permanent;
}
结果:
结果:用http://192.168.1.226/quickpay-admin/login.html 跳转到下面
由于解决问题查询了不少的博客
https://blog.csdn.net/danfengw/article/details/62218937
https://www.v2ex.com/t/305568;
http://www.javashuo.com/article/p-hkihflli-ec.html
借鉴了不少东西;若有侵权,请联系删除;