nginx反向代理https地址注入js

1.安装with-http_ssl_module模块和with-http_sub_module

nginx需要安装ssl模块来使用https

进入nginx所在的目录

./configure --with-http_stub_status_module --with-http_ssl_module

编译:make

移动cp ./objs/nginx /usr/local/nginx/sbin/

2.生成主机的https证书

生成秘钥key,运行:

openssl genrsa -des3 -out server.key 2048

会有两次要求输,输入同一个即可

输入

然后你就获得了一个server.key文件.

以后使用此文件(通过openssl提供的命令或API)可能经常回要求输入密码,如果想去除输入密码的步骤可以使用以下命令:

    openssl rsa -in server.key -out server.key

创建服务器证书的申请文件server.csr,运行:

openssl req -new -key server.key -out server.csr

其中Country Name填CN,Common Name填主机名也可以不填,如果不填浏览器会认为不安全.(例如你以后的url为https://abcd/xxxx….这里就可以填abcd),其他的都可以不填.

创建CA证书:

openssl req -new -x509 -key server.key -out ca.crt -days 3650


创建自当前日期起有效期为期十年的服务器证书server.crt:此时,你可以得到一个ca.crt的证书,这个证书用来给自己的证书签名.

openssl x509 -req -days 3650 -in server.csr -CA ca.crt -CAkey server.key -CAcreateserial -out server.crt

复你的文件夹,可以看到一共生成了5个文件:

ca.crt ca.srl server.crt server.csr server.key

其中,server.crt和server.key就是你的nginx需要的证书文件.

3.配置nginx

server {

        listen       9092 ssl;

        server_name  localhost;

        ssi    on;

ssl_certificate      /op/autosys/server.crt;

        ssl_certificate_key  /op/autosys/server.key;

        ssl_session_cache    shared:SSL:1m;

        ssl_session_timeout  5m;

        ssl_ciphers  HIGH:!aNULL:!MD5;

        ssl_prefer_server_ciphers  on;

        charset UTF-8;

        location = /sso.js {

            add_header Access-Control-Allow-Origin *;

            add_header Access-Control-Allow-Headers "Origin, X-Requested-With, Content-Type, Accept";

            add_header Access-Control-Allow-Methods "GET, POST, OPTIONS";

            root   /op/autosys/nginx17/html/js;

            add_header Cache-Control no-store;

        }

        

        location  / {

            proxy_set_header Host $http_host;

            proxy_set_header X-Real-IP $remote_addr;

            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_hide_header X-Frame-Options;

            proxy_pass  https://172.18.238.220/;

            sub_filter '</head>' '<script src="/sso.js"></script></head>';

            sub_filter_once off;

        }

    } 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值