今天调试https时发现,使用b.pinhuba.com、c.pinhuba.com等域名也可以访问 a.pinhuba.com下的目录,这对搜索引擎抓包时应该会产生比较严重的影响,导致搜索引擎误判。例如:https://www.pinhu360.com/
同样也可以访问
https://so.pinhuba.com/
server { listen 443 ssl; server_name www.pinhu360.com; root html; index index.html index.htm; ssl_certificate cert/a.crt; ssl_certificate_key cert/a.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; ssl_dhparam cert/a.pem; location / { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-Forwarded-Proto https; proxy_redirect off; proxy_connect_timeout 240; proxy_send_timeout 240; proxy_read_timeout 240; client_max_body_size 1000m; proxy_pass http://localhost/; } }
经查找,采用以下解决方案
添加一个默认的ssl默置,Nginx找不到ssl server_name时,将转向默认的配置,但必须指定一下证书,随意证书即可
server { listen 443 default_server; server_name _ ; ssl on; ssl_certificate cert/a.crt; #随意证书即可,但是必须加 ssl_certificate_key cert/a.key; #随意证书即可,但是必须加 return 404; }
发表评论(对文章涉及的知识点还有疑问,可以在这里留言,老高看到后会及时回复的。)