全球主机交流论坛

标题: 【已解决】如何用nginx 禁止ip直接访问网站,只允许域名... [打印本页]

作者: casm    时间: 2021-12-16 11:29
标题: 【已解决】如何用nginx 禁止ip直接访问网站,只允许域名...
本帖最后由 casm 于 2021-12-16 12:28 编辑

百度出来都是一样的答案
server {
   listen   80 default;   
   server_name _;   
    return 403;  
}
在结尾加这个server,nginx配置文件直接报错




感谢热情MJJ,已经解决,

先把默认的配置 这个default去掉:
server {
   listen   80 default;   #去掉default
   ...
   ...
}

然后安装按照楼下Silently的代码,在配置文件底部,新增一个server就行

用宝塔重载配置会提示
nginx: [warn] conflicting server name "_" on 0.0.0.0:80, ignored
无需理会
作者: cooioobb    时间: 2021-12-16 11:30
默认nginx配置域名就好了
作者: 李云龙    时间: 2021-12-16 11:31
请问我如何百度搜索?
作者: 920    时间: 2021-12-16 11:46
用的宝塔吗?
作者: 920    时间: 2021-12-16 11:51
  1. server {
  2.   listen       80;
  3.   server_name  123.123.123.123(改成你的IP地址);
  4.   return 403;
  5. }
复制代码


这样试试
作者: Qwe7    时间: 2021-12-16 11:54
正常绑定域名的,ip不能访问,你的是反代项目吗,反代的话不放行反代端口就行了
作者: whl32    时间: 2021-12-16 11:58
你这个元老啊
作者: 丶Silently    时间: 2021-12-16 11:59
  1. server {
  2.         listen 80 default_server;
  3.         listen [::]:80 default_server;
  4.         listen 443 default_server;
  5.         listen [::]:443 default_server;
  6.         ssl_reject_handshake on;
  7.         server_name _;
  8.         return 444;
  9. }
复制代码

作者: G.K.D    时间: 2021-12-16 12:01
给你的服务器 IP 自签一个证书,也可以用在线网站:https://myssl.com/create_test_cert.html
如果用在线网站的话,域名写 IP,有效期选 5 年,生成后要把根证书和证书内容合并到一个文件中。
然后创建一个虚拟主机,配置文件大概就是这样(记得改示例中的证书文件和 IP):
  1. server
  2. {
  3.     listen 80 default_server;
  4.     listen 443 ssl http2 default_server;
  5.     server_name 你的IP;
  6.     ssl_certificate /etc/nginx/conf.d/default.pem;
  7.     ssl_certificate_key /etc/nginx/conf.d/defaultkey.pem;
  8.     ssl_protocols TLSv1.2 TLSv1.3;
  9.     return 444;
  10. }
复制代码

这样访问 https://ip 的话,就不会暴露其他网站的证书了,同时也会被直接断开链接(444 状态码最省资源)
也可以加上这两行,限制该虚拟主机只允许服务器内部访问。
  1. allow 127.0.0.0/8;
  2. deny  all;
复制代码


或者你可以看一下 Nginx 官方文档,不需要自签证书也可能实现一样效果:
https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_reject_handshake
作者: sdqu    时间: 2021-12-16 12:02
既然报错,你就要说具体的报错信息
不然谁知道呢

作者: lspro    时间: 2021-12-16 12:05
return 444;




欢迎光临 全球主机交流论坛 (https://loc.010206.xyz/) Powered by Discuz! X3.4