请问网站使用阿里云证书设置好https后如何禁止ip访问
没设置https之前,是server {listen 80 default;
return 403;
}
这样就可以了,域名正常使用80端口。
设置了阿里云的https之后。
域名设置:
server
{
listen 80;
#listen [::]:80;
server_name www.ilaodao.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443;
#listen [::]:443;
server_name www.ilaodao.com;
index index.html index.htm index.php default.html default.htm default.php;
root/home/wwwroot/rootx;
include none.conf;
#error_page 404 /404.html;
ssl on;
ssl_certificate /cert/214100445453434.pem;
ssl_certificate_key/cert/214100445453434.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
location ~ [^/]\.php(/|$)
{
# comment try_files $uri =404; to enable pathinfo
# try_files $uri =404;
fastcgi_passunix:/tmp/php-cgi.sock;
fastcgi_index index.php;
include fastcgi.conf;
include pathinfo.conf;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 12h;
}
}
结果:https://+ip虽然提示不安全但是会访问我的域名下的内容, ip:443访问会报400错误。
为了屏蔽ip访问,于是设置:
nginx.conf设置:
server { listen 443 default;
return 403;
}
同样方法设置443,会导致正常域名的https+域名一样无法访问。
请问军哥有什么办法屏蔽https://+ip, ip:443却不影响正常https://+域名的使用。谢谢。
[ 本帖最后由 wangjysir 于 2017-5-23 11:04 编辑 ] 禁止ip访问的443 default_server 上也要按ssl虚拟主机的设置设置上证书、key等设置才行
回复 2# 的帖子
感谢军哥,这个问题深夜到处搜了两个小时都没找到答案。
页:
[1]