专栏首页运维前线配置nginx反向代理jira并实现https

配置nginx反向代理jira并实现https

配置nginx反向代理jira并实现https

配置Tomcat

在本文中,我们设置可以在地址http://jira.aniu.so/jira(标准HTTP端口80)上访问JIRA,而JIRA本身可以使用上下文路径/ jira监听端口8080。

修改配置文件server.xml(在jira安装目录下)

更改前:
<Context docBase="${catalina.home}/atlassian-jira" path="" reloadable="false" useHttpOnly="true">

更改后:
<Context docBase="${catalina.home}/atlassian-jira" path="/jira" reloadable="false" useHttpOnly="true">

配置连接器

  • 添加proxyName和proxyPort元素(用适当的属性替换它们),以及下面的另一个连接器——这用于故障排除,以绕过代理:
<!-- Nginx Proxy Connector --> # 仅仅使用nginx不使用https
<Connector port="8080" maxThreads="150" minSpareThreads="25" connectionTimeout="20000" enableLookups="false" maxHttpHeaderSize="8192" protocol="HTTP/1.1" useBodyEncodingForURI="true" redirectPort="8443" acceptCount="100" disableUploadTimeout="true"
proxyName="jira.aniu.so" proxyPort="80"/> 

<!-- OPTIONAL,Nginx Proxy Connector with https -->  # 本文使用这次方式
<Connector port="8081" maxThreads="150" minSpareThreads="25" connectionTimeout="20000" enableLookups="false" maxHttpHeaderSize="8192" protocol="HTTP/1.1" useBodyEncodingForURI="true" redirectPort="8443" acceptCount="100" disableUploadTimeout="true"
proxyName="jira.aniu.so" proxyPort="443" scheme="https" secure="true"/>

<!-- Standard HTTP Connector -->
<Connector port="8082" maxThreads="150" minSpareThreads="25" connectionTimeout="20000" enableLookups="false" maxHttpHeaderSize="8192" protocol="HTTP/1.1" useBodyEncodingForURI="true" redirectPort="8443" acceptCount="100" disableUploadTimeout="true"/>

配置nginx

配置https,需要证书,使用CSR在线生成工具(https://ssl.sundns.com/tool/csrgenerator),生成csr和key文件,方便后面的使用

# 在线制作的csr和key上传到服务器/etc/pki/tls/certs目录下,如下:

-rw-r--r--  1 root root    1050 Jul 25 20:26 jira.aniu.so.csr
-rw-r--r--  1 root root    1675 Jul 25 20:27 jira.aniu.so.key
# 使用下面命令生成crt文件,如下:
[root@sh-kvm-3-1 certs]# openssl x509 -in jira.aniu.so.csr -out jira.aniu.so.crt -req -signkey jira.aniu.so.key -days 3650
Signature ok
subject=/C=CN/O=aniu/OU=DevOps/ST=Shanghai/L=Shanghai/CN=jira.aniu.so/emailAddress=yunwei@aniu.tv
Getting Private key
  • 更新Nginx设置以拥有以下服务器(以FQDN和jira-hostname替换jira.aniu.so,并使用服务器的主机名):
# cat jira.aniu.so.conf (nginx使用yum安装)
server {
  listen 80;
  server_name jira.aniu.so;
  return 301 https://$host$request_uri;
}

server {
  listen 443 ssl;
  server_name jenkins.aniu.so;
  access_log  /var/log/nginx/jira.aniu.so.access.log  main;
  error_log  /var/log/nginx/jira.aniu.so.error.log;

  ssl                  on;
  ssl_certificate      /etc/pki/tls/certs/jira.aniu.so.crt;
  ssl_certificate_key  /etc/pki/tls/certs/jira.aniu.so.key;

  location /jira {
    proxy_set_header        Host $host:$server_port;
    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_redirect          http:// https://;
    proxy_pass              http://sh-kvm-3-1:8080/jira; # sh-kvm-3-1这里为jira所在服务器的主机名
    client_max_body_size    10M;
    proxy_set_header        X-Forwarded-Host $host;
    proxy_set_header        X-Forwarded-Server $host;
    # Required for new HTTP-based CLI
    proxy_http_version 1.1;
    proxy_request_buffering off;
  }
}
# 更改完成之后重启jira和nginx,访问https://jira.aniu.so/jira,能看到jira集成nginx已经成功

参考链接

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • F-Stack 全用户态 (Kernel Bypass) 服务开发套件

    F-Stack 是一个全用户态的高性能的网络接入开发包,基于 DPDK、FreeBSD 协议栈、微线程接口等,用户只需要关注业务逻辑,简单的接入 F-Stack...

    F-Stack
  • Nginx + Lua搭建文件上传下载服务

    项目需要做一个文件上传下载服务,利用 nginx+lua 做一个代理服务,上传入口统一,分发到不同的机器存储,下载链接和物理存储隔离,支持添加 agent 的方...

    庄进发
  • 【 ES 私房菜】收集 Nginx 访问日志

    在上一篇系列文章《【 ES 私房菜】收集 Apache 访问日志》中,我们已经完成了 ES 收集 A pache 日志的目标,再收集其他 WEB 日志也就小菜一...

    张戈
  • 如何在腾讯云快速构建一个 Wordpress 个人站点

    本文通过深入浅出的方式,给大家介绍如何在腾讯云快速构建一个Wordpress个人站点。希望对大家使用腾讯云的过程中,有所帮助。

    白宦成
  • Nginx 反向代理腾讯云 COS 的一个坑

    腾讯云COS的后台服务假设客户端都支持http1.1协议,对http1.0协议没有做很好的兼容,而腾讯云CVM提供的带Nginx的系统镜像里面的Nginx版本又...

    黄希彤
  • 让大象起舞:HTTPS 计算性能优化

    HTTPS 很安全,与此同时却又要消耗非常多的CPU资源,STGW 针对 nginx 和 openssl 进行了大量优化,用以提升 HTTPS 的计算性能和访问...

    腾讯技术工程官方号
  • nginx 基本入门

    本文是至今为止见过最好的 nginx 入门文章,主要讲解的是如何启用和停止nginx,和重新加载配置,描述配置文件的基本结构和怎样搭建一个 nginx 静态辅助...

    腾讯IVWEB团队
  • 【 ES 私房菜】ElasticSearch 详细部署教程

    Elasticsearch 是一个分布式的 RESTful 风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例。本文详细介绍了elasticserch的部署...

    张戈
  • Docker 使用指南 (三)—— 网络配置

    本文详细介绍了Docker网络配置的四个模式,以及模式下的具体配置操作。希望对入门,Docker的童鞋有所帮助。

    田飞雨
  • 自己部署 Node.js 版本的 Wafer2 Demo

    自行部署适用于想将腾讯云 Wafer SDK 和 Demo 部署在自己的服务器上以获得更高的灵活性和操纵权限的用户。部署过程需要从 0 开始搭建线上环境,需要有...

    Jason

扫码关注云+社区

领取腾讯云代金券