http://ip 这种形式已经可以拒绝了,但 https://ip 仍然可以访问(虽然会有红叉)。
找了很久也没找到有效的方法,望各位 v 友不吝赐教。
我想要的效果基本上和这个问题最后总结的一样:Block direct access to webserver IP via HTTPS
以下是我目前使用的 nginx 配置:
server {
listen 80 default;
return 403;
}
server {
listen 80;
server_name example.com;
rewrite ^ https://$host$request_uri? permanent;
}
server {
listen 443 http2 ssl;
server_name example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
location ~ /.well-known {
allow all;
}
root /var/www/test/public;
index index.html;
location / {
try_files $uri $uri/ /index.html;
}
}