yanshichao0226
yanshichao0226
/root/ssl是TASSL的安装目录?
> ./configure --with-stream --with-stream_ssl_module --with-openssl=/root/ssl --prefix=./ --sbin-path=./forward_ng --conf-path=./forward_ng.conf 之前的版本配置nginx时--with-openssl后跟TASSL安装路径;现在已修改为源码路径,与原生nginx保持一致。https://github.com/jntass/Nginx_Tassl/commit/5faec722cc4411ee2a83eec9bb74fa854acf14d1
>  @yanshichao0226 报这个错 创建日志目录应该就可以了
双向认证的话增加如下配置即可 正向代理:  反向代理: 
>  > > @yanshichao0226 建了,还是不行。 如果日志目录已经正确创建,那么有可能是权限的问题。可以网上查找下解决方案,这个跟国密改造没关系。
节点a配置把proxy_ssl on;也加上
注掉就是单向认证
> 配置1: ssl_ciphers "ECC-SM4-SM3:ECDHE-SM4-SM3"; ssl_prefer_server_ciphers on; 结果:3个浏览器都无法访问nginx web。 这个配置下由于nginx默认最高协议版本为TLS1.2且未配置TLS1.2相关套件,故报错”No ciphers enabled for max supported SSL/TLS version“,可以通过配置“ssl_protocols TLSv1.3;”规避。(TLS1.3套件不通过"ssl_ciphers"配置且默认使能),此时结果也是“密信是SM访问(因为密信默认先SM),360安全和火狐是RSA访问” > nginx配置SM和RSA双证书,想通过 ssl_ciphers 来配置 优先使用 SM密码套件,还是RSA密码套件,但SM密码套件似乎不生效。 按照我们的理解首先应选择协议版本,然后才是选择密码套件(国密SSL与标准SSL区别不只是套件区别,版本号也不同)。nginx会先根据浏览器发送的client hello中的版本确定协议版本,然后才是确认协商套件。而由于浏览器会尝试多个不同版本且优先级不同(密信优先国密SSL,360/火狐优先TLS1.3),所以会有不同的协商结果。如果需要nginx来选择使用的协议版本,nginx需要知道浏览器支持的版本,亦即"如果浏览器同时支持国密SSL+标准SSL,如何通过一个client_hello来告诉nginx”,这涉及到国密SSL和标准SSL的版本兼容和升降级机制,目前没有标准化的实现。这是一种方法 #21