(把稳:sites-enabled里的配置实在是软链接,链接到sites-available下的真实配置,这是nginx的一种最佳实践,希望我们在sites-available下修正配置,等修恰好往后在链接到sites-enabled下,不过我这里没采纳这种最佳实践,直接在sites-enabled目录下增加配置,哈哈。

# defaultserver { listen 80 default_server; listen [::]:80 default_server; server_name _; root /var/www/html; index index.html index.htm index.nginx-debian.html;}

最大略的配置nginx的办法便是直接改这个default文件,加上自己的网站配置:

# defaultserver { listen 80 default_server; listen [::]:80 default_server; server_name www.domain.com; root /path/to/www.domain.com; index index.html index.htm;}

不过,不推举这种办法。
如果这样配置,恶意用户可以用自己的域名指向我们的IP,蹭我们的流量,来养他的域名,非常讨厌。

php限制ip访问应用nginx设置装备摆设域名及制止直接经由过程IP拜访网站 SQL

我更推举把这个配置复制一份,在复制的配置里修正网站信息。

cp default domain-website

然后修正信息:

# domain-websiteserver { listen 80; #去掉default_server listen [::]:80; #去掉default_server server_name www.domain.com; #修正域名 root /path/to/www.domain.com; #指向网站文件根目录 index index.php index.html index.htm; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.0-fpm.sock; }}

这样配置就很灵巧了,方便我们禁止IP访问和别人把域名恶意指向我们的IP。

想要禁止IP访问的话,就修正default配置:

server { listen 80 default_server; listen [::]:80 default_server; server_name _; return 500; # 添加这句,当用IP访问时,返回500缺点码}

这也同样可以阻挡别人恶意把域名指向我们的做事器IP,蹭我们的流量。

2. 配置https

如果是配置了https,我们就增加一个default-ssl配置文件:

# default-sslserver { listen 443 ssl default_server; listen [::]:443 ssl default_server; #ssl on; ssl_certificate cert/www.domain.com.pem; # SSL证书和密钥 ssl_certificate_key cert/www.domain.com.key; server_name _; return 500;}

把稳:一定要加上自己的SSL证书和密钥,不然会导致域名的https无法访问。

正常网站https配置:

# domain-website-sslserver { listen 443; listen [::]:443; ssl on; ssl_certificate cert/www.domain.com.pem; # SSL证书和密钥 ssl_certificate_key cert/www.domain.com.key; ssl_session_timeout 30m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_prefer_server_ciphers on; server_name www.domain.com; # 域名 root /path/to/www.domain.com; # 网站文件根目录 index index.php index.html index.htm; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.0-fpm.sock; }}3. 如何办理别人域名恶意指向自己做事器IP的问题以及搜集流量

如果按照我上面的配置方法,那么就不怕别人把域名指向我们的IP了。
假如在运用上述配置之前就已经有恶意域名指向我们IP了,怎么办呢,没问题,我们可以把这些域名重定向到我们自己的域名,相称于把这些流量都搜集起来,导入到自己的域名。

对default和default_ssl做如下修正:

# defaultserver { listen 80 default_server; listen [::]:80 default_server; server_name _; #return 500; # 添加这句,当用IP访问时,返回500缺点码 return 301 https://www.domain.com; //把IP和其他域名访问的流量永久重定向到我们的域名}

# default_sslserver { listen 443 ssl default_server; listen [::]:443 ssl default_server; #ssl on; ssl_certificate cert/www.domain.com.pem; # SSL证书和密钥 ssl_certificate_key cert/www.domain.com.key; server_name _; return 500; return 301 https://www.domain.com; //把IP和其他域名访问的流量永久重定向到我们的域名}

还可以把自己域名http重定向到https:

server { listen 80; listen [::]:80; server_name www.domain.com; return 301 https://$server_name$request_uri;}

至此,就办理了被别人用域名恶意蹭流量的问题。

--End--