nginx一个端口映射多个域名
nginx通过443端口,映射多个域名进行转发,已以及vue3部署时的nginx配置
·
准备工作
一台服务器,开放80和443端口
云服务器需要在控制台开放网络配置
80转443(强制https)
server { #default用户屏蔽ip直接访问,仅在第一个server内配置即可
listen 80 default;
server_name www.00shen.space 00shen.space;#主域名配置www和@
rewrite ^/(.*)$ https://www.00shen.space:443/$1 permanent;#转发443
}
server {
listen 80;#监听80端口
server_name login.00shen.space;#监听访问的域名
rewrite ^/(.*)$ https://login.00shen.space:443/$1 permanent;
}
配置443(https)服务,同上,可配置多个不同域名
多个server监听443端口即可,server_name域名不能相同,特别注意的,如果使用免费的ssl服务,新的二级域名需要单独申请ssl证书进行配置,注意更改证书位置。
path为自己的服务器路径
server {
listen 443 ssl;#监听443,开启ssl
server_name login.00shen.space;#监听域名
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;#加密方式等。。。
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
ssl_certificate path/name.crt;#配置ssl证书
ssl_certificate_key path/name.key;
location / {
root path/dist;
index index.html;
try_files $uri $uri/ /index.html;
}
}
关于vue3项目需要注意
location / {
root path/dist;#dist位置
index index.html;
try_files $uri $uri/ /index.html;#解决刷新404问题,如还有问题请改路由为hash
}
非root用户使用alias
location /otherUser {
alias /root/other;
index index.html;
try_files $uri $uri/ /index.html;
}
接口服务进行定向转发
location /api {
proxy_pass http://127.0.0.1:8080/;#接口地址
proxy_set_header HOST $host;#配置转发请求信息
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
client_max_body_size 100m;
}
文章来自我的博客:深的空间
更多推荐
已为社区贡献1条内容
所有评论(0)