ip证书和域名证书都是数字证书,当浏览器访问服务器的时候,如果是https请求,服务器会返回一个公钥+证书回来,如果证书是可信任颁发机构颁发的,那么可以信任这个证书,如果不是,则会警告安全问题,如果自签名证书想要信任证书,需要将证书手动导入到证书管理中的“受信任的根证书颁发机构”这一栏
客户端拿到这个公钥之后,会自己生成一个随机的密钥,用公钥加密之后,发送到服务端,服务器可以用私钥来接出这个密钥。这个过程是非对称加密
然后客户端用密钥加密内容,服务器用密钥解密。这个过程是对称加密
证书生成主要参考[https://blog.csdn.net/chuanxincui/article/details/88399373](https://blog.csdn.net/chuanxincui/article/details/88399373)
也有脚本自动生成的[https://www.liaoxuefeng.com/article/990311924891552](https://www.liaoxuefeng.com/article/990311924891552)
证书需要用apache或者nginx代理
nginx下载安装[https://www.cnblogs.com/xxoome/p/5866475.html](https://www.cnblogs.com/xxoome/p/5866475.html)
nginx加装ssl模块[https://blog.csdn.net/qq_35531549/article/details/89183486](https://blog.csdn.net/qq_35531549/article/details/89183486)
nginx可以监听多个端口,多个ssl也是可以的
直接增加配置:
server{ listen 453 ssl; server_name localhost; charset uft-8; access_log logs/www.access.log main;
ssl on; ssl_certificate /u02/selfCert/server.crt; ssl_certificate_key /u02/selfCert/server.key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL; ssl_prefer_server_ciphers on;
location /hippius/ { proxy_pass http://192.168.16.144:31190/; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size 10m; client_body_buffer_size 128k; proxy_connect_timeout 90; proxy_read_timeout 90; proxy_buffer_size 4k; proxy_buffers 6 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; } }
就可以在453端口接收https请求了,访问的时候也是https:/ip:453/xxx