Nginx 是一个高性能的 HTTP 和反向代理服务器,也用作邮件代理服务器。它能够通过配置文件实现多域名的支持,包括对 HTTPS(端口 443)的支持。
假设我们有两个域名 example1.com
和 example2.com
,并且它们都指向同一个服务器 IP 地址。我们需要在 Nginx 上配置这两个域名的 HTTPS 访问。
http {
server {
listen 80;
server_name example1.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name example1.com;
ssl_certificate /path/to/example1.com.crt;
ssl_certificate_key /path/to/example1.com.key;
location / {
root /var/www/example1;
index index.html;
}
}
server {
listen 80;
server_name example2.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name example2.com;
ssl_certificate /path/to/example2.com.crt;
ssl_certificate_key /path/to/example2.com.key;
location / {
root /var/www/example2;
index index.html;
}
}
}
问题描述:访问网站时提示 SSL 证书错误。
原因:可能是证书路径错误,或者证书文件不匹配。
解决方法:
.crt
和 .key
)匹配。openssl
工具检查证书:openssl
工具检查证书:问题描述:无法启动 Nginx,提示端口 443 被占用。
原因:可能是其他服务占用了 443 端口。
解决方法:
问题描述:访问域名时提示域名解析失败。
原因:可能是 DNS 配置错误,或者域名未正确解析到服务器 IP。
解决方法:
ping
或 nslookup
工具检查域名解析:ping
或 nslookup
工具检查域名解析:通过以上配置和解决方法,你应该能够成功配置 Nginx 支持多域名的 HTTPS 访问。
领取专属 10元无门槛券
手把手带您无忧上云