nginx 配置文件
nginx 配置文件 /usr/lcoal/nginx/conf/nginx.conf 具体根据自己的文件位置
http 的括号里面添加一行:
include /usr/local/nginx/conf/vhosts.conf; # 一个文件包含多个域名配置,具体看自己nignx的位置 #include /usr/local/nginx/conf/vhost/*.conf #多个域名文件,一个域名一个配置文件
一个域名一个文件的写法:
首先打开nginx域名配置文件存放目录:/usr/local/nginx/conf/ ,如要绑定域名 www.myserver.com 则在此目录建一个文件:www. myserver.com.conf 然后在此文件中写规则,如:
server { listen 80; server_name www. myserver.com; #绑定域名 index index.htm index.html index.php; #默认文件 root /home/www/myserver.com; #网站根目录 include location.conf; #调用其他规则,也可去除 }
nginx服务器重起命令: /etc/init.d/nginx restart 绑定成功
一个文件包含多个域名的写法:
server { listen 80; server_name www. myserver.com myserver.com; #绑定域名 index index.htm index.html index.php; #默认文件 root /home/www/ myserver.com; #网站根目录 include location.conf; #调用其他规则,也可去除 } server { listen 80; server_name msn. myserver.com; #绑定域名 index index.htm index.html index.php; #默认文件 root /home/www/msn. myserver.com; #网站根目录 include location.conf; #调用其他规则,也可去除 }
禁止IP直接访问80端口或者禁止非本站的域名绑定我们的IP,放到最前一个server上面即可:
禁止80 端口
server{ listen 80 default; server_name _; return 403; }
禁止 80 ,443 端口
server { listen 80 default; listen 443 default_server; server_name _; return 403; #SSL-START SSL相关配置 ssl on; ssl_certificate /etc/letsencrypt/live/0ne0ne.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/0ne0ne.com/privkey.pem; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDHE-RSA-AES128-GCM- SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4:!DH:!DHE; ssl_prefer_server_ciphers on; ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m; error_page 404.html https://$host$request_uri; #SSL-END # 中间这一块可以根据自己证书要求配置 }
注意:Nginx 上对于 SSL 服务器在不配置证书的时候会出现协议错误,哪怕端口上配置了其他网站也会报错。443端口如果也跟80端口那样子的配置,使用https方式访问正常的域名也会被拒绝连接。解决办法就是添加一个证书。