关于nginx多域名映射的问题

Java_er 2017-04-19 09:54:57
我目前有个域名 abc.com 请问如下需求,该如何配置

1、现在想给多个客户搞多个二级子域名
(不是设置A记录那种形式)
比如:
c1.abc.com
c2.abc.com
c3.abc.com
c4.abc.com
c5.abc.com
...............

其实这些全部都指向一个ip

这样如何通过nginx来处理呢?
2、想将如下请求 分别转发给后端的tomcat

c1.abc.com/api -->转发给tomcat 端口8080

c1.abc.com/admin-->转发给tomcat 端口8090

。。。。

其实这些全部都指向一个ip

3、80端口 给静态文件使用
静态文件如何配置

...全文
636 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Only_Wan 2017-05-03
  • 打赏
  • 举报
回复

#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;


	
	server {
		listen 80;
		server_name xxx.cn;
		location /{
			proxy_redirect off;
			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_pass http://127.0.0.1:8881;
			#proxy_pass http://tomcat;
		}
		access_log logs/potal_tomcat_8881_access.log;
	}

	server {
		listen 80;
		server_name sso.xxx.cn;
		location /{
			proxy_redirect off;
			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_pass http://127.0.0.1:8884;
			#proxy_pass http://tomcat;
		}
		access_log logs/sso_tomcat_8884_access.log;
	}
	
	server {
		listen 80;
		server_name rest.xxx.cn;
		location /{
			proxy_redirect off;
			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_pass http://127.0.0.1:8882;
			#proxy_pass http://tomcat;
		}
		access_log logs/rest_tomcat_8882_access.log;
	}
	
	server {
		listen 80;
		server_name user.xxx.cn;
		location /{
			proxy_redirect off;
			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_pass http://127.0.0.1:8885;
			#proxy_pass http://tomcat;
		}
		access_log logs/user_tomcat_8885_access.log;
	}
	

    # another virtual host using mix of IP-, name-, and port-based configuration
    #
    #server {
    #    listen       8000;
    #    listen       somename:8080;
    #    server_name  somename  alias  another.alias;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}


    # HTTPS server
    #
    #server {
    #    listen       443 ssl;
    #    server_name  localhost;

    #    ssl_certificate      cert.pem;
    #    ssl_certificate_key  cert.key;

    #    ssl_session_cache    shared:SSL:1m;
    #    ssl_session_timeout  5m;

    #    ssl_ciphers  HIGH:!aNULL:!MD5;
    #    ssl_prefer_server_ciphers  on;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}

}
常书 2017-04-24
  • 打赏
  • 举报
回复
mark,进来学习下
Java_er 2017-04-20
  • 打赏
  • 举报
回复
引用 1 楼 cqyy725 的回复:
server 配置成域名就行了
什么意思?
cqyy725 2017-04-20
  • 打赏
  • 举报
回复
server 配置成域名就行了

19,612

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧