需求:
--
两个域名想指向同一个网站ip;
解决:
--
在http{}中新增server配置;
原有server
server {
listen 80 default_server;
server_name www.**.cn;
root /usr/share/nginx/html;
}
server {
#SSL 默认访问端口号为 443
listen 443 ssl;
server_name cloud.***.com;
ssl_certificate cloud.***.com_bundle.crt;
ssl_certificate_key cloud.***.com.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
location / {
root html;
index index.html index.htm;
}
}
原有server监控了80和443端口,原样复制一份,替换域名和证书既可;
重启服务命令:
service nginx restart
如果报错,可以使用命令查询详情:
service nginx status && journalctl -xe
之前因为配置错误,提示了一些信息;
安提示信息,修改后就没事了
如果觉得复制在一个文件中太复杂,可以考虑每一个域名单独写一个文件中;
在http{}中 添加一行代码,加载文件夹下所有配置;
然后编写一个域名为文件名的配置文件;将证书信息也放到文件夹内;
配置文件内输入之前复制的配置信息;
server {
listen 80;
server_name www.***.cn;
root /usr/share/nginx/html;
location / {
proxy_set_header HOST $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
server {
listen 443 ssl;
server_name www.***.cn;
root /usr/share/nginx/html;
autoindex on;
ssl_certificate conf.d/1_www.***.cn_bundle.crt;
ssl_certificate_key conf.d/2_www.***.cn.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 10m;
ssl_ciphers PROFILE=SYSTEM;
ssl_prefer_server_ciphers on;
location / {
proxy_set_header HOST $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
这样在有多个域名时,nginx.conf不会写的太复杂;比较清晰;
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。