nginx 的多域名多https转发设置方法【转】
version: 1.1(fixed) 修正一些错误
基本环境:
/etc/nginx/nginx.conf #保持
/etc/nginx/ssl/ #ssl认证文件
/etc/nginx/site-available #VirtualHost设置区
/etc/nginx/site-enable #VirtualHost应用区
基本设计:
让nginx支持多域名(包括二级域名),并自动跳转到https(所有域名默认访问https),反向代理转发到后台不同端口。
设置文件:
/etc/nginx/site-available/virtualhost1.conf
upstream vs1{
#这里可以设置负载均衡
server 127.0.0.1:3000;
}
server {
listen 80 ;
server_name www.youdomain.com;
#这里设置跳转,return 301不太好用~~
rewrite ^ https://$server_name$request_uri? permanent;
}
server {
listen 443 ssl;
#设置ssl认证文件
ssl_certificate /etc/nginx/ssl/startssl_ca.crt;
ssl_certificate_key /etc/nginx/ssl/startssl_ca.key;
ssl_protocols SSLv3 TLSv1;
ssl_ciphers HIGH:!aNULL:!MD5;
server_name youdomain.com www.youdomain.com;
#这里设置域名跳转名称不变
server_name_in_redirect off;
error_page 502 /errors/502.html;
# 这里设置默认https跳转
error_page 497 https://$host$uri?$args;
location ~ ^/(images/|img/|javascript/|js/|css/|stylesheets/|flash/|media/|static/|robots.txt|humans.txt|favicon.ico) {
access_log off;
expires max;
}
location /errors {
internal;
}
location / {
proxy_redirect off;
proxy_pass http://vs1;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $host;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-NginX-Proxy true;
proxy_set_header Connection "";
proxy_http_version 1.1;
}
}
/etc/nginx/site-available/virtualhost2.conf
#与上一个文件同样的地方略去。
upstream vs2{
#这里端口为4000,可以设置负载均衡
server 127.0.0.1:4000;
}
server {
listen 80;
server_name subdomain.yourdomain.com;
rewrite ^ https://$server_name$request_uri? permanent;
}
server {
listen 443 ssl;
#可以设置独立的ssl认证
ssl_certificate /etc/ssl/nginx/startssl_1_ca.crt;
ssl_certificate_key /etc/ssl/nginx/startssl_1_ca.key;
ssl_protocols SSLv3 TLSv1;
ssl_ciphers HIGH:!aNULL:!MD5;
#这里设置了二级域名跳转,需要在DNS处设置一条A记录,也可以支持其它顶级域名
server_name vs2.youdomain.com;
server_name_in_redirect off;
error_page 502 /errors/502.html;
error_page 497 https://$host$uri?$args;
# ....
location / {
proxy_redirect off;
proxy_pass http://vs2;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $host:server_port;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-NginX-Proxy true;
proxy_set_header Connection "";
proxy_http_version 1.1;
}
#....
}
设置应用:
在/etc/nginx/site-enable下做连接
$sudo ln -s vs1.conf /etc/nginx/site-available/vs1.conf
测试配置文件是否正确
$sudo nginx -t
让nginx重新加载设置:
$sudo nginx -s reload
测试通过环境:ubuntu 13-server
参考:
nginx 的多域名多https转发设置方法-million-ChinaUnix博客
http://blog.chinaunix.net/uid-231372-id-4584714.html
nginx 的多域名多https转发设置方法【转】的更多相关文章
- nginx证书制作以及配置https并设置访问http自动跳转https(反向代理转发jboss)
nginx证书制作以及配置https并设置访问http自动跳转https 默认情况下ssl模块并未被安装,如果要使用该模块则需要在编译时指定–with-http_ssl_module参数,安装模块依赖 ...
- [转帖]一个ip对应多个域名多个ssl证书配置-Nginx实现多域名证书HTTPS
一个ip对应多个域名多个ssl证书配置-Nginx实现多域名证书HTTPS https://home.cnblogs.com/u/beyang/ 一台服务器,两个域名 首先购买https,获取到CA证 ...
- Nginx多个域名,https redirect to http
背景描述:Nginx绑定多个域名,其中一个域名配置了https,如域名A:https://www.aaa.com:另外的域名B(http://www.bbb.com)没有配置SSL证书, 问题:以ht ...
- 一个ip对应多个域名多个ssl证书配置-Nginx实现多域名证书HTTPS
一台服务器,两个域名 首先购买https,获取到CA证书,两个域名就得到两套证书 第二步:现在就是Nginx和OpenSSL的安装与配置(这里注意,一般情况下一个IP只支持一个SSL证书,那么我们现在 ...
- LR测试https协议设置方法
测试ssl隧道的设置方法: 前一段时间使用loadrunner测试ssl vpn时,使用ssl隧道一直配置不成功,经过查资料,终于成功,记录一下,方便大家测试.走ssl隧道与普通http,只需多设两个 ...
- Nginx实现多域名证书HTTPS
目前公司有2个域名,其中这次涉及到3个子域名需要更改为HTTPS传输,分别为: passport.abc.com www.test.com admin.test.com 那么就涉及到购买ssl证书的问 ...
- IIS中多域名多网站的设置方法
一个 IP 可以绑定多个域名.如您需要实现多个域名访问同一个网站,只需就不同域名添加 A 记录指向同一个 IP 即可. 如您需要实现多个域名访问同一虚拟服务器上不同网站,也需要就不同域名添加 A 记录 ...
- nginx下禁止访问robots.txt的设置方法
关于robots.txt文件:搜索引擎通过一种程序robot(又称spider),自动访问互联网上的网页并获取网页信 息.您可以在您的网站中创建一个纯文本文件robots.txt,在这个文件中声明该网 ...
- LR录制https协议设置方法
1.New一个脚本,option --> port mapping --> 选择第二个 WinNet level data 2.Run-time Setting --> Prefe ...
随机推荐
- Post Lamps CodeForces - 990E(暴力出奇迹?)
题意: 在一个从0开始的连续区间上 放置几个小区间,使得这些小区间覆盖整个大区间,不同长度的小区间有不同的花费,其中有m个点,小区间的左端点不能放在这些点上 解析: 显然如果0是这m点中的一个 则无 ...
- linux 实践到的命令 collection
查看文件夹/文件 大小:du :(disk usage) 要通过 1024 字节块概述一个目录树及其每个子树的磁盘使用情况,请输入: du -k /home/fran/filename 这在/ho ...
- 美团codeM之美团代金券
前天做了下美团的一个codeM比赛的资格赛,遇到一个题目挺有意思的,所以现在做一下总结. 题目描述 美团的每一个用户都有一个用户代金券的消费记录日志,每位用户都能购买若干种代金券,但是每一种代金券最多 ...
- java多线程 -- ForkJoinPool 分支/ 合并框架 工作窃取
Fork/Join 框架:就是在必要的情况下,将一个大任务,进行拆分(fork)成若干个小任务(拆到不可再拆时),再将一个个的小任务运算的结果进行 join 汇总. Fork/Join 框架与线程池的 ...
- 使用EntitysCodeGenerate
http://bbs.csdn.net/topics/360256700 public DataSet xxx(DateTime start, DateTime end, string type) ...
- 【位运算】判断一个数是否为2的n次方
import java.util.Scanner; /** * 功能:用位运算,判断一个数是否为2的n次方. * 思路:用1做移位操作,然后判断移位后的值是否与给定的数相同. */ public cl ...
- golang json 编码解码
json 编码 package main import ( "encoding/json" "fmt" ) type Person struct { Name ...
- Spss22安装与破解步骤
Spss22安装与破解教程 向师姐请教了一些学术问题,哈哈说的有点大,不过真的很感谢,学到了很多,少走了很多弯路. 1.下载安装包 可以去IBM官网.人大论坛等网站下载,全部文件应包括spss22安装 ...
- 四大开源协议比较:BSD、Apache、GPL、LGPL
sklearn实战-乳腺癌细胞数据挖掘(博客主亲自录制视频教程) https://study.163.com/course/introduction.htm?courseId=1005269003&a ...
- bzoj千题计划120:bzoj1032[JSOI2007]祖码Zuma
http://www.lydsy.com/JudgeOnline/problem.php?id=1032 https://www.luogu.org/discuss/show?postid=8416 ...