NGINX配置子域名反向代理,并支持SSL(https)
若要在Nginx中开启子域名代理并使用SSL,你可以使用以下配置示例。这个示例包含了一个主域名和两个子域名,并配置了SSL证书。确保替换实际的域名、证书路径以及后端服务器地址。
worker_processes 1;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
# 主域名 HTTP
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://backend-example;
# 其他代理配置
}
}
# 主域名 HTTPS
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /path/to/example.crt;
ssl_certificate_key /path/to/example.key;
location / {
proxy_pass http://backend-example;
# 其他代理配置
}
# 其他SSL配置
}
# 子域名1 HTTP
server {
listen 80;
server_name sub1.example.com;
location / {
proxy_pass http://backend-sub1;
# 其他代理配置
}
}
# 子域名1 HTTPS
server {
listen 443 ssl;
server_name sub1.example.com;
ssl_certificate /path/to/sub1.crt;
ssl_certificate_key /path/to/sub1.key;
location / {
proxy_pass http://backend-sub1;
# 其他代理配置
}
# 其他SSL配置
}
# 子域名2 HTTP
server {
listen 80;
server_name sub2.example.com;
location / {
proxy_pass http://backend-sub2;
# 其他代理配置
}
}
# 子域名2 HTTPS
server {
listen 443 ssl;
server_name sub2.example.com;
ssl_certificate /path/to/sub2.crt;
ssl_certificate_key /path/to/sub2.key;
location / {
proxy_pass http://backend-sub2;
# 其他代理配置
}
# 其他SSL配置
}
# 添加更多的 server 块以配置更多的子域名
}
确保替换以下内容:
example.com
、sub1.example.com
、sub2.example.com
:实际的域名。/path/to/example.crt
、/path/to/example.key
:主域名的SSL证书和私钥路径。/path/to/sub1.crt
、/path/to/sub1.key
:子域名1的SSL证书和私钥路径。/path/to/sub2.crt
、/path/to/sub2.key
:子域名2的SSL证书和私钥路径。http://backend-example
、http://backend-sub1
、http://backend-sub2
:实际的后端服务器地址。
确保SSL证书和私钥文件存在,然后重新加载或重启Nginx以使配置生效:
sudo nginx -s reload
或者
sudo service nginx restart
本文由chatgpt3生成,个人对校对并调整!