如何解决如何在Nginx的单个IP上配置多个yii应用程序?
在我的情况下,有两个yii2应用程序,并且想要进行配置,这样我就可以像下面那样访问两个应用程序。
app 1 frontend - somedomain.com/app1/
app 1 backend - somedomain.com/app1/admin
app 2 frontend - somedomain.com/app2/
app 2 backend - somedomain.com/app2/admin
我曾尝试过。
我已经创建了5个nginx配置文件defualt.conf,app1-frontend.conf,app1-backend.conf,app2-frontend.conf,app2-backend.conf
defualt.conf
server {
listen 80;
server_name somedomain.com;
location /app1 {
proxy_pass http://localhost:3000;
}
location /app1/admin {
proxy_pass https://localhost:3001;
}
location /app2 {
proxy_pass http://localhost:5000;
}
location /app2/admin {
proxy_pass https://localhost:5001;
}
}
app1-frontend.conf
server {
charset utf-8;
client_max_body_size 128M;
listen 3000;
server_name 127.0.0.1 localhost;
root /home/dev/Desktop/app1/frontend/web;
access_log /home/dev/Desktop/app1/vagrant/nginx/log/frontend-access.log;
error_log /home/dev/Desktop/app1/vagrant/nginx/log/frontend-error.log;
location / {
index index.html index.php;
try_files $uri $uri/ /index.php?$args;
}
location ~ ^/(protected|framework|themes/\w+/views) {
deny all;
}
location ~ \.php {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
try_files $uri =404;
}
# prevent nginx from serving dotfiles (.htaccess,.svn,.git,etc.)
location ~ /\. {
deny all;
access_log off;
log_not_found off;
}
}
,对于其他配置,例如app1-backend.conf,app2-backend.conf
,除了端口和文档根目录外,其他所有内容都是相同的。
当我访问http://somedomain.com/app1/
时,我只有html页面,而在其他应用路径中,却得到了404
,而对于http://somedomain.com/app1/admin
来说,却出现了502
错误。
有人知道如何解决吗?
解决方法
您应该在Google上搜索的名称称为SSO(单曲)。如果您使用第三方身份验证提供程序(例如OAuth),则可以实现所需的行为-我得到了这样的环境。并使用JWT(JSON湿令牌)和Auth0运行。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。