Nginx同一个域名配置多个项目

落日映苍穹つ 2022-04-18 00:40 1222阅读 0赞

使用Nginx要在同一个域名下配置多个项目有两种方式:

  1. nginx按不同的目录分发给不同的项目
  2. 启用二级域名,不同的项目分配不同的二级域名

1.nginx按不同的目录分发给不同的项目:

  1. server {
  2. listen 80;
  3. server_name example.com;
  4. location ^~ /project1 {
  5. proxy_pass http://localhost:8081;
  6. proxy_set_header Host $host;
  7. proxy_set_header X-Real-IP $remote_addr;
  8. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  9. }
  10. location ^~ /project2 {
  11. proxy_pass http://localhost:8082;
  12. proxy_set_header Host $host;
  13. proxy_set_header X-Real-IP $remote_addr;
  14. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  15. }
  16. location / {
  17. proxy_pass http://localhost:8080;
  18. proxy_set_header Host $host;
  19. proxy_set_header X-Real-IP $remote_addr;
  20. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  21. }
  22. }

这里配置了三个项目:

  • http://example.com/project1路径分发到http://localhost:8081
  • http://example.com/project2路径分发到http://localhost:8082
  • 其他路径分发到http://localhost:8080

2.启用二级域名,不同的项目分配不同的二级域名

注意:很多同学说无效,原因是一定要先对二级域名添加A记录到主机,同一个域名可以添加N个二级域名到同一个主机

  1. server {
  2. listen 80;
  3. server_name example.com;
  4. location / {
  5. proxy_pass http://localhost:8080;
  6. proxy_set_header Host $host;
  7. proxy_set_header X-Real-IP $remote_addr;
  8. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  9. }
  10. }

project1

  1. server {
  2. listen 80;
  3. server_name project1.example.com;
  4. location / {
  5. proxy_pass http://localhost:8081;
  6. proxy_set_header Host $host;
  7. proxy_set_header X-Real-IP $remote_addr;
  8. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  9. }
  10. }

project2

  1. server {
  2. listen 80;
  3. server_name project2.example.com;
  4. location / {
  5. proxy_pass http://localhost:8082;
  6. proxy_set_header Host $host;
  7. proxy_set_header X-Real-IP $remote_addr;
  8. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  9. }
  10. }

注意:这三个项目属于不同的域名,项目之间通过http访问会存在跨域问题。

发表评论

表情:
评论列表 (有 0 条评论,1222人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Nginx配置项目

    使用Nginx要在同一个域名下配置多个项目有两种方式: 1.nginx按不同的目录分发给不同的项目 2.启用二级域名,不同的项目分配不同的二级域名 1.nginx按不同