0


使用nginx解决前端https调用http接口

1.思路

nginx配置https访问后将请求转发到目标http服务

2.生成ssl证书

(1) 创建配置文件 myssl.conf

  1. # 定义输入用户信息选项的"特征名称"字段名,该扩展字段定义了多项用户信息。
  2. distinguished_name = req_distinguished_name
  3. # 生成自签名证书时要使用的证书扩展项字段名,该扩展字段定义了要加入到证书中的一系列扩展项。
  4. x509_extensions = v3_req
  5. # 如果设为no,那么 req 指令将直接从配置文件中读取证书字段的信息,而不提示用户输入。
  6. prompt = no
  7. [req_distinguished_name]#国家代码,一般都是CN(大写)
  8. C = CN
  9. #省份
  10. ST = gd
  11. #城市
  12. L = gz
  13. #企业/单位名称
  14. O = echohye
  15. #企业部门
  16. OU = echohye
  17. #证书的主域名
  18. CN =192.168.11.111
  19. ##### 要加入到证书请求中的一系列扩展项 #####[v3_req]
  20. keyUsage = critical, digitalSignature, keyAgreement
  21. extendedKeyUsage = serverAuth
  22. subjectAltName = @alt_names
  23. [ alt_names ]
  24. IP.1 =192.168.11.111
  25. # IP.2 = 192.168.11.222

(2)生成证书命令

  1. openssl myssl -x509-nodes-days3650-newkey rsa:2048 -keyout server.key -out server.crt -config req.cnf -sha256

3.nginx配置

  1. server {
  2. listen 80;
  3. listen 443 ssl;
  4. server_name localhost;
  5. ssl_certificate ssl/server.pem;
  6. ssl_certificate_key ssl/server.key;
  7. ssl_session_cache shared:SSL:1m;
  8. ssl_session_timeout 5m;
  9. ssl_ciphers HIGH:!aNULL:!MD5;
  10. ssl_prefer_server_ciphers on;#access_log /var/log/nginx/host.access.log main;
  11. location / {
  12. proxy_pass http://xxxxx:xxx;
  13. proxy_set_header Host $host;
  14. proxy_set_header X-Real-IP $remote_addr;}}

跨域参考: https://www.jianshu.com/p/2de4e37a2e03

标签: http nginx 前端

本文转载自: https://blog.csdn.net/pingzhilidexingfu/article/details/134208833
版权归原作者 老王@上新路 所有, 如有侵权,请联系我们删除。

“使用nginx解决前端https调用http接口”的评论:

还没有评论