Nginx + Tomcat HTTPS配置

来源:互联网 发布:数据采集与处理小木虫 编辑:程序博客网 时间:2024/06/06 00:28

HTTPS证书申请

  • 生成证书请求文件CSR,将私钥文件保存到本地,如/data/web/crt/server.key
  • 提交CSR,申请证书
  • 获取服务器证书,将Email中的SSL证书文本段和中级证书文本段依次粘贴到服务器证书文件,如/data/web/crt/server.cer中

配置Nginx,使其支持HTTPS

  • 编辑希望使其支持HTTPS的虚拟主机配置文件,如nginx/conf/vhosts/mydomain.conf
    添加/修改以下配置段:
server { // 此配置段将HTTP请求全部重定向为HTTPS请求    listen 80;    server_name admin.mobile.upay360.cn;    rewrite ^(.*) https://$server_name$1 permanent;}server {    #listen 80; //如果希望网站同时支持HTTP和HTTPS访问,则不要注释此行,并将下面的ssl on注释掉。    listen 443 ssl;    server_name  admin.mobile.upay360.cn;    index index.jsp;    ssl on;    ssl_certificate /home/server.cer;     ssl_certificate_key /home/server.key;    #ssl_session timeout 5m;    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;    ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;    ssl_prefer_server_ciphers on;    location / {         proxy_pass http://mobile_admin;         proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;         proxy_set_header  X-Real-IP  $remote_addr;         proxy_set_header  Host $http_host;         proxy_next_upstream     timeout;         proxy_connect_timeout  300;    }    access_log /data/web/nginx/logs/access.log my;}
  • 使用nginx/sbin/nginx -s reload 重启nginx
  • 此时https已同时对nginx和tomcat生效

配置Tomcat,禁止Tomcat直接响应非本机HTTP请求

  • 修改tomcat/conf/server.xml,在前添加下面行
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127.0.0.1" deny=""/>
  • 修改后,Tomcat仅允许来自本机nginx的反向代理请求
0 0
原创粉丝点击