Nginx根据nginx 二级域名 转发转发到不同网站!

Sina Visitor SystemNginx+Tomcat配置多个二级域名
把tomcat下几个项目分别配置成二级域名(主域名配置一样):
a 项目 配置成 http://a.domain.com
b 项目 配置成 http://b.domain.com
第一步:配置tomcat虚拟目录
&Host name="a.domain.com"
appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false"&
&Context path="" docBase="项目地址A" reloadable="false"/&
&Host name="b.domain.com" appBase="webapps" unpackWARs="true" autoDeploy="true"&
&Context path="" docBase="项目地址B" reloadable="false"/&
第二步:配置nginx虚拟目录
listen 80;
server_name a.domain.
location / {
proxy_pass http:
include proxy.
listen 80;
server_name b.domain.
location / {
proxy_pass http:
include proxy.
第三步修改hosts文件:
vi /etc/hosts
127.0.0.1 a.domain.com b.domain.com
配置成功。
启动服务在本地可以:
ping a.domain.com
ping b.domain.com
都是可以ping通的。
注:nginx 配置虚拟目录名称 必须与 tomcat配置一样。
有问题再沟通。
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!通过nginx实现https以及https二级域名转发
/**仅记录自己的学习历程,为以后的自己留一个参考**/
最近在倒腾微信小程序,研究小程序怎么和服务器通信,上一篇博客里通过nginx实现了http的二级域名转发,结果发现https实现二级域名转发又是另一会事,心累啊
目的:https://abc.com访问主域名,使用nginx将访问https://shop.abc.com二级域名的请求转发到https://abc.com:3000端口
1.给域名搞个ssl证书
我偷懒直接从阿里云申请了一个免费的证书,阿里云的证书服务里面有介绍如何使用证书,唯一要注意就是阿里云的免费证书只能对一个域名有效,即不管你是主域名还是二级域名都需要单独申请一个ssl证书,否则不能使用https访问。
2.主域名配置nginx
找到nginx目录下的nginx.conf文件,进行如下配置,和http服务的配置类似,多添加一个证书服务
listen 443
server_name abc.
server_name_in_
ssl_certificate
#添加证书服务
ssl_certificate_key
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_
location / {
proxy_set_header Host
proxy_set_header X-Real-IP
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_
index index.html index.
3.二级域名配置nginx
https的转发要麻烦一点,因为ssl证书不一样,所以不能在主域名的server中进行二级域名转发。找到nginx目录下的nginx.conf文件,在主域名server下面增加一个server
listen 443
server_name shop.abc.
server_name_in_
#可以设置独立的ssl认证
ssl_certificate
ssl_certificate_key
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_
location / {
proxy_set_header Host
proxy_set_header X-Real-IP
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_
proxy_pass http://abc.com:3000;
对于为什么二级域名里面转发的是http地址,我是这么理解的:如果Nginx作为前端代理的话,则后台服务器根本不需要自己处理 https,全是Nginx处理的。用户首先和Nginx建立连接,完成SSL握手,而后Nginx 作为代理以 http 协议将请求转给 后台服务器 处理,Nginx再把后台服务器 的输出通过SSL 加密发回给用户,这中间是透明的,所以后台服务器只是在处理 http 请求而已。因此,这种情况下只需要配置 Nginx 的SSL 和 Proxy。可以参考这篇文章
4.重启nginx
/安装路径/sbin/nginx -t
/安装路径/sbin/nginx -s reload
tips:这是我目前的解决方法,应该还有其它更好的方法,欢迎大家指正。
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!nginx配置,根据二级域名访问tomcat中不同的项目
tomcat中 有多个项目,我用nginx 二级域名进行跳转到对应的项目
以下为nginx的配置文件,麻烦给看下,哪里存在问题.造成的访问504 超时
server_rewrite.conf
listen 80;
server_name .zgjf168.
location / {
rewrite (.*) http://www.zgjf168.com$1
gzip_min_length
gzip_types
text/plain text/css application/x-
location /pic/ {
proxy_pass
http://172.16.0.21/;
proxy_set_header
proxy_set_header
proxy_set_header
X-Forwarded-For $proxy_add_x_forwarded_
proxy.conf
proxy_set_header
proxy_set_header
X-Real-IP $remote_
proxy_set_header
X-Forwarded-For $proxy_add_x_forwarded_
client_max_body_size
client_body_buffer_size 128k;
proxy_connect_timeout
proxy_send_timeout
proxy_read_timeout
proxy_buffer_size
proxy_buffers
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
server.conf
listen 80;
server_name www.zgjf168.com bbs.zgjf168.com b2b.zgjf168.com,yun.zgjf168.com,3d.zgjf168.
access_log
/var/log/nginx/zgjf168.
/etc/nginx/conf.d/lazy/pic.
location ~ ^/(WEB-INF)/ {
#location ~ \.(apk|torrent|htm|html|asp|php|gif|jpg|jpeg|png|bmp|ico|rar|css|js|zip|java|jar|txt|flv|swf|mid|doc|ppt|xls|pdf|txt|mp3|wma)$ {
# root /var/lib/tomcat6/
# expires 24h;
#location ~ ^/uploads/ {
# root /var/lib/tomcat6/
# expires 24h;
location / {
proxy_pass http://localhost:8080;
include /etc/nginx/conf.d/lazy/proxy.
error_page
500 502 503 504
location = /502.html {
/usr/share/nginx/
error_page 404 /404.
location = /404.html {
/usr/share/nginx/
error_page 403 /403.
location = /403.html {
/usr/share/nginx/
不知道是否配置的问题, 麻烦各位给看下
tomcat 中有多个项目,同时在跑,这样写应该说有问题,可以去排除下。
location / {
&&&&&&&&proxy_pass http://localhost:8080;
&&&&&&&&include /etc/nginx/conf.d/lazy/proxy.
--- 共有 1 条评论 ---
今天才算是测试通过. 是因为tomcat 中引用的第三方jar 冲突造成了tomcat虚拟内存过小. 一直是关注nginx的问题了. 把这个基本的给忽略了. 这个配置没有问题.
&&&location / {
&&&&&&&&proxy_pass http://localhost:8080;
&&&&&&&&include /etc/nginx/conf.d/lazy/proxy.
以上代码有问题的 ,所有的链接都反向代理 tomcat ,你应该过滤一下后缀,如:
location ~ .*\.(jsp|do)?$
--- 共有 1 条评论 ---
不太理解排除这个是干什么作用的 能否告知下呢Nginx服务器下配置个性二级域名及多个域名的实例讲解
转载 &更新时间:日 10:24:19 & 作者:别闹我要练字
这篇文章主要介绍了Nginx服务器下配置个性二级域名及多个域名的实例讲解,注意一下rewrite的写法规则,需要的朋友可以参考下
个性二级域名
配置下个性化二级域名.
访问的URL http://custom.jb51.net
实际的URL //www.jb51.net/auth/custom
我们的做法就是通过服务器配置,将访问的url转换为实际的url
下面我们来用nginx配置。配置如下:
server_name *.jb51.
if ( $host ~* (\b(?!www\b)\w+)\.\w+\.\w+ ) {
set $subdomain $1;
location / {
rewrite ^/$ /auth/$
proxy_pass //www.jb51.net/;
其中的if,是用于过滤某些特殊的二级域名,比如www,然后获取二级域名的变量值。
rewrite转化为对应的目录
rewrite ^/$ /auth/$
再加上nginx的反向代理功能:
proxy_pass //www.jb51.net/;
就可以实现了。
这样配置之后,除了if中过滤的二级域名,其他的二级域名{sudomain}.jb51.net,对于服务器,其真实的路径都是www.jb51.net/auth/{sudomain}。
如果url有多种路径规则,则需要一一进行配置。
多域名配置
& nginx绑定多个域名可又把多个域名规则写一个配置文件里,也可又分别建立多个域名配置文件,我一般为了管理方便,每个域名建一个文件,有些同类域名也可又写在一个总的配置文件里。
一、每个域名一个文件的写法
&&&&&& 首先打开nginx域名配置文件存放目录:/usr/local/nginx/conf/servers ,如要绑定域名www.jb51.net 则在此目录建一个文件:www.your-domain.conf然后在此文件中写规则,如:server
server_name
index.htm index.html index. #默认文件
/home/www/jb51. #网站根目录
location. #调用其他规则,也可去除
然后重起nginx服务器,域名就绑定成功了nginx服务器重起命令:/etc/init.d/nginx restart
二、一个文件多个域名的写法
一个文件添加多个域名的规则也是一样,只要把上面单个域名重复写下来就ok了,如:server
server_name
index.htm index.html index. #默认文件
/home/www/bbs.jb51.
location. #调用其他规则,也可去除
server_name
index.htm index.html index. #默认文件
/home/www/www.jb51.
#网站根目录
location. #调用其他规则,也可去除
三、不带www的域名加301跳转
如果不带www的域名要加301跳转,那也是和绑定域名一样,先绑定不带www的域名,只是不用写网站目录,而是进行301跳转,如:
server_name
^/(.*) //www.jb51.net/$1
四、添加404网页
&&&&&& 添加404网页,都可又直接在里面添加,如:
server_name
www.jb51. #绑定域名
index.htm index.html index. #默认文件
/home/www/jb51. #网站根目录
location. #调用其他规则,也可去除
error_page
学会上面四种规则方法,基本就可以自己独立解决nginx 多域名配置问题了
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具

我要回帖

更多关于 网站二级域名查询 的文章

 

随机推荐