目前Nginx已configuration为接受通用SSL证书,例如:* .website.com。
我没有购买昂贵的通配符证书,而是购买了顶级域名website.com的单个域名SSL证书
现在,我发现服务实际上使用了两个也需要在SSL下的子域名。
例如:a.website.com和b.website.com
题。
如何更改nginxconfiguration,以便在为a.website.com购买单个子域SSL证书时,我可以指出nginx使用它。
这里是Nginx文件目前的样子:
server { listen 80; server_name website.io www.website.io; return 301 https://website.io$request_uri; } server { listen 443 ssl; ssl on; server_name website.io www.website.io; client_max_body_size 5m; add_header X-UA-Compatible "IE=Edge,chrome=1"; access_log /var/log/nginx/website.io_access.log; error_log /var/log/nginx/website.io_error.log; ssl_certificate /srv/ssl/website.io/ssl.crt; ssl_certificate_key /srv/ssl/website.io/ssl.key; error_page 500 502 503 504 /500.html; location /500.html { root /srv/static/website/maintenance; } location / { #auth_basic "Restricted"; #auth_basic_user_file /etc/nginx/htpasswd.conf; include uwsgi_params; uwsgi_connect_timeout 30; uwsgi_read_timeout 30; uwsgi_pass 127.0.0.4:3031; } }
你的configuration会变成类似这样的东西(为了清楚起见,我已经把你的例子中的域名a.website.com了域名a.website.com和b.website.com )
server { listen 80; server_name a.website.com; return 301 https://a.website.com$request_uri; } server { listen 443 ssl; server_name a.website.com; client_max_body_size 5m; add_header X-UA-Compatible "IE=Edge,chrome=1"; access_log /var/log/nginx/a.website_access.log; error_log /var/log/nginx/a.website_error.log; ssl_certificate /srv/ssl/a.website/ssl.crt; ssl_certificate_key /srv/ssl/a.website/ssl.key; error_page 500 502 503 504 /500.html; location /500.html { root /srv/static/website/maintenance; } location / { #auth_basic "Restricted"; #auth_basic_user_file /etc/nginx/htpasswd.conf; include uwsgi_params; uwsgi_connect_timeout 30; uwsgi_read_timeout 30; uwsgi_pass 127.0.0.4:3031; } } server { listen 80; server_name b.website.com; return 301 https://b.website.com$request_uri; } server { listen 443 ssl; server_name b.website.com; client_max_body_size 5m; add_header X-UA-Compatible "IE=Edge,chrome=1"; access_log /var/log/nginx/b.website.com_access.log; error_log /var/log/nginx/b.website.com_error.log; ssl_certificate /srv/ssl/b.website.com/ssl.crt; ssl_certificate_key /srv/ssl/b.website.com/ssl.key; error_page 500 502 503 504 /500.html; location /500.html { root /srv/static/website/maintenance; } location / { #auth_basic "Restricted"; #auth_basic_user_file /etc/nginx/htpasswd.conf; include uwsgi_params; uwsgi_connect_timeout 30; uwsgi_read_timeout 30; uwsgi_pass 127.0.0.4:3031; } }
您可以根据需要为多个站点重复此操作,它只为每个站点定义一个附加的服务器块