您的位置 首页 服务器

Nginx实现根据域名http、https分发配置示例

这篇文章主要介绍了Nginx实现根据域名http、https分发配置示例,本文同时介绍了openssl证书生成方法,需要的朋友可以参考下

  • 教程正文

tomcat端口:8080 做好虚拟主机
nginx端口:80 根据域名分派

在conf/nginx.conf中的http中增加

include www.jb51.net.conf

新建conf/www.jb51.net.conf,内容如下:

server {

listen 80;

server_name www.jb51.net;

location / {
    proxy_pass http://127.0.0.1:8080;
    proxy_set_header Host $host:80;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Via “nginx”;
}
}

其中127.0.0.1是你的tomcat主机ip

要是代理https的话,内容如下:

server {

listen 443;

server_name mail.jb51.net;

ssl on;
ssl_certificate server.crt;
ssl_certificate_key server.key;

location / {
    proxy_pass https://192.168.0.2:443;
    proxy_set_header Host $host:443;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Via “nginx”;

}
}

其中192.168.0.2是你的https主机

如果后端https没有证书的话,可以如此简化:

server {

listen 80;

server_name svn.jb51.net;

location / {
    proxy_pass https://192.168.0.2:443;
    proxy_set_header Host $host:443;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Via “nginx”;
    proxy_set_header X-Forwarded-Proto https; #注意看这里 多了一行
}
}

如果提示“SSL 接收到一个超出最大准许长度的记录。” 错误代码“ssl_error_rx_record_too_long”说明少了“ssl on;”这一行

后面的server.crt server.key是数字证书,具体可以参照openssl做证书

openssl做证书

mkdir ssl

cd ssl

openssl genrsa -des3 -out server.key 1024 # 会提示你输入key,尽可能长些复杂些,后面好几处要用,我都是复制粘贴的

openssl req -new -key server.key -out server.csr # 输入组织信息 CN BeiJing HaiDian huozhe.com

cp server.key server.key.org

openssl rsa -in server.key.org -out server.key

openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

这里的server.crt server.key你就可以拿去用了

上一篇:Docker 清理命令集锦

下一篇:Nginx配合php实现生成实时缩略图功能

本文来自网络,不代表武先生个人博客立场,转载请注明出处:https://www.wujiexiang.com/devops/server/3488.html

作者: wuadin

广告位

发表评论

电子邮件地址不会被公开。 必填项已用*标注

联系我们

联系我们

18530226930

在线咨询: QQ交谈

邮箱: 345424724@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部