问答一下,轻松解决,电脑应用解决专家!
主板显卡CPU内存显示器
硬盘维修显卡维修显示器维修
注册表系统命令DOS命令Win8
存储光存储鼠标键盘
内存维修打印机维修
WinXPWin7Win10/Win11
硬件综合机箱电源散热器手机数码
主板维修CPU维修键盘鼠标维修
Word教程Excel教程PowerPointWPS
网络工具系统工具图像工具
数据库javascriptLinux系统
PHP教程CSS教程XML教程

nginx配置不允许通过IP只允许通过域名进行访问

更新时间:2021-08-15 15:19 作者:Zack_snair点击:

http

做运维的时候出过一次生产事故,官网被封了,原因说是有未备案的域名直接解析到我们公司官网的IP, 导致直接封对IP封锁。
多方沟通溯源发先是我们开发同学自己买了个域名直接解析的官网的地址.针对这个事件,做了复盘,提出了写优化方案。其中nginx上配置可允许域名访问就是其一
具体配置如下。

# 禁止通过ip地址访问
 server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name _;
    return 400;
}
# 允许通过域名访问-自动跳转到https
 server {
    listen 80;
    server_name 你的域名.com;
    rewrite ^(.*) https://$server_name$1 permanent;

}

https

# 禁止通过ip地址访问-https
server {
    listen 443 ssl default_server;
    listen [::]:443 ssl default_server;
    #ssl on;
    ssl_certificate 3935979_www.wd1x.com.pem;
    ssl_certificate_key 3935979_www.wd1x.com.key;
    server_name _;
    return 400;
}
server
  {
    listen 443 ssl;#监听端口
    server_name 你的域名.com;#域名
    index index.html index.htm index.php;
    ssl_certificate 你的证书.pem;
    ssl_certificate_key 你的证书key.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;
    root /home/web/html;#你的站点目录
      location ~ .*.(php|php5)?$
    {
      #fastcgi_pass unix:/tmp/php-cgi.sock;
      fastcgi_pass 127.0.0.1:9000;
      fastcgi_index index.php;
      include fastcgi.conf;
    }
    location ~ .*.(gif|jpg|jpeg|png|bmp|swf|ico)$
    {
      expires 30d;
  # access_log off;
    }
    location ~ .*.(js|css)?$
    {
      expires 15d;
   # access_log off;
    }
    access_log off;
  }

检查及 reload

nginx -t 检查下是否有配置错误。
之后 reload 一下 nginx 即可

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
你可能感兴趣的内容