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;
}
}
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.