首先思考下:为什么设置http和https情况下禁止IP直接访问网站?

一般情况下,要使域名能访问到网站需要两步

第一步,将域名解析到网站所在的主机。
第二步,在web服务器中将域名与相应的网站绑定。

但是,如果通过主机IP能直接访问某网站,那么把域名解析到这个IP也将能访问到该网站,而无需在主机上绑定,也就是说任何人将任何域名解析到这个IP就能访问到这个网站。可能您并不介意通过别人的域名访问到您的网站,但是如果这个域名是未备案域名呢?一旦被查出,封IP、拔线甚至罚款的后果都是需要您来承担的。某些别有用心的人,通过将未备案域名解析到别人的主机上,使其遭受损失,这是一种新兴的攻击手段。

打开nginx配置文件

vim /usr/local/nginx/conf/nginx.conf

修改配置文件

worker_processes  1;

events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;

    keepalive_timeout  65;

	upstream halo {
		ip_hash;
		server 127.0.0.1:8090; # blog端口
	}

	server {
		listen 80 default_server;
		server_name _;

		location / {
			return 403;
		}
	}

    server {
        listen 443 ssl;
        ssl_certificate /usr/local/nginx/cert/7778018_wmhxx.cn.pem;  #需要将cert-file-name.pem替换成已上传的证书文件的名称。
        ssl_certificate_key /usr/local/nginx/cert/7778018_wmhxx.cn.key; #需要将cert-file-name.key替换成已上传的证书私钥文件的名称。
        location / {
			return 500;
        }
    }

	
	#以下属性中,以ssl开头的属性表示与证书配置有关。
	server {
	    listen 443 ssl;
	    #配置HTTPS的默认访问端口为443。
	    #如果未在此处配置HTTPS的默认访问端口,可能会造成Nginx无法启动。
	    #如果您使用Nginx 1.15.0及以上版本,请使用listen 443 ssl代替listen 443和ssl on。
	    server_name www.wmhxx.cn wmhxx.cn; #需要将yourdomain替换成证书绑定的域名。
	    client_max_body_size 30m;
	    root html;
	    index index.html index.htm;
	    ssl_certificate /usr/local/nginx/cert/7778018_wmhxx.cn.pem;  #需要将cert-file-name.pem替换成已上传的证书文件的名称。
	    ssl_certificate_key /usr/local/nginx/cert/7778018_wmhxx.cn.key; #需要将cert-file-name.key替换成已上传的证书私钥文件的名称。
	    ssl_session_timeout 5m;
	    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
	    #表示使用的加密套件的类型。
	    ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; #表示使用的TLS协议的类型。
	    ssl_prefer_server_ciphers on;
	    location / {
	        root html;  #Web网站程序存放目录。
	        index index.html index.htm;
	        proxy_pass http://halo;   
	    }
	}
}
文章作者: 烦恼的夏洛克
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 烦恼的夏洛克
nginx nginx
喜欢就支持一下吧