我有一台服务器,我希望为除本地网络上的所有连接主机禁用TLSv1。
目前,我的nginx conf看起来像这样:
server {
listen *:443 default_server ssl;
server_name myhostname;
...
ssl_protocols TLSv1.1 TLSv1.2;
...
}
server {
listen *:443 default_server ssl;
server_name myhostname;
...
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
...
location / {
allow 10.0.0.0/8;
deny all;
...
}
}
我想只允许10.0.0.0/8个主机使用TLSv1,但是这个配置会给我一个警告,说明端口443上有myhostname重复。
我正在用
进行测试openssl s_client -connect myhostname.com:443 -tls1
并且似乎不起作用。
谢谢!
答案 0 :(得分:0)
您可以使用nginx的geo指令。 this will help you to understand geo directive batter
http{
..
geo $allow_all_ssl {
default 0;
10.0.0.0/8 1;
}
..}
server{
...
set $ssl_value "TLSv1.1 TLSv1.2";
if ($allow_all_ssl) {
set $ssl_value "TLSv1 TLSv1.1 TLSv1.2";
}
ssl_protocols $ssl_value;