配置nginx反向代理jira並實現https
配置nginx反向代理jira並實現https
配置Tomcat
在本文中,我們設置可以在地址https://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 https:// https://;
proxy_pass https://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已經成功
參考鏈接
最後更新:2017-07-26 09:33:07
上一篇:
入門篇:關於函數計算角色策略的定義
下一篇:
曾鳴:未來五年,一個新的商業模式將誕生 | 幹貨
物聯網在發展上,特別是消費性產品,為何進展如此緩慢?
《深入理解Elasticsearch(原書第2版)》一2.4.4 後置過濾和過濾查詢
Java IO: 文件
前端在人工智能時代能做些什麼?
HI3531的nand flash測試
Unable to resolve target 'android-i'
Android 藍牙API之BluetoothAdapter類使用
spring使用注解時配置文件的寫法
PostgreSQL Oracle 兼容性係列之 - WITH 遞歸 ( connect by )
《Ansible權威指南》一1.7 Ansible的安裝部署