Nginx+Tomcat+HTTPS
Tomcat 은
JKS
, PKCS11
, PKCS12
형식의 keystore 만 지원 합 니 다.JKS
는 자바 표준 형식 Java KeyStore
의 줄 임 말로 자바 자체 keytool
도 구 를 사용 하여 만 들 수 있 습 니 다.PKCS12
는 인터넷 의 표준 으로 OpenSSL 이나 Key - Manager (Microsoft) 를 사용 하여 생 성 할 수 있다.새 인증서 사용
PKCS11
와 PKCS12
에 대해 서 는 아 리 클 라 우 드 나 텐 센트 클 라 우 드 가 제공 하 는 서 비 스 를 이용 할 수 있다.간단 한 견 해 를 위해 본 고 는 주로 소개 JKS
JKS keytool -genkey -alias tomcat -keyalg RSA
Linux
keytool -genkey -alias tomcat -keyalg RSA
인증 서 는 기본적으로 사용자 루트 디 렉 터 리 에 저 장 됩 니 다.
-keystore
옵션 을 사용 하여 인증서 의 생 성 위 치 를 지정 할 수 있 습 니 다.Tomcat 설정
Tomcat 은 두 가지 다른 방식 으로 SSL 을 실현 합 니 다.
확보
오픈다음은 JSSE 방식 으로 설정 합 니 다.
JSSE
protocol 사용
org.apache.coyote.http11.Http11NioProtocol
예시:
중요 한 것 은
keystoreFile
이 고 그 값 은 'keystore' 입 니 다.keystorePass
인증 서 를 만 들 기 위 한 비밀번호끝나다
이로써 Tomcat 의 HTTPS 설정 이 완료 되 었 고 접근
https://localhost:8443/
테스트 가 완료 되 었 습 니 다.사용 가능 https://localhost:8080/
테스트Nginx HTTPS 설정 및 Tomcat 대리
nginx 설치 시 SSL 을 켜 야 합 니 다. 즉, 추가
--with-openssl
옵션 입 니 다../configure --prefix=/data/nginx/nginx-1.12.2 --sbin-path=/data/nginx/nginx-1.12.2/bin --conf-path=/data/nginx/nginx-1.12.2/conf/nginx.conf --pid-path=/data/nginx/nginx-1.12.2/pid/nginx.pid --with-http_realip_module --with-http_sub_module --with-http_flv_module --with-http_dav_module --with-http_gzip_static_module --with-http_stub_status_module --with-http_ssl_module --with-http_addition_module --with-pcre=/data/nginx/pcre-8.39 --with-zlib=/data/nginx/zlib-1.2.11 --with-openssl=/data/nginx/openssl-1.0.2
#user nobody;
worker_processes 1;
error_log logs/error.log;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
# PUBLIC server
upstream public_server {
server localhost:8080 weight=1 max_fails=5 fail_timeout=30s;
}
# HTTP
server {
# define attribute
listen 80;
server_name localhost;
charset utf-8;
# redirece https
rewrite ^ https://$http_host$request_uri? permanent;
# define error page
error_page 500 502 503 504 /50x.html;
location = /50x.html {
access_log logs/nginx_error.log;
root html;
}
location / {
access_log logs/nginx_server.log;
root html;
index index.html index.htm;
}
}
# HTTPS
server {
# define attribue
listen 443 ssl;
server_name localhost;
keepalive_timeout 70;
server_tokens off;
fastcgi_param HTTPS on;
fastcgi_param HTTP_SCHEME https;
access_log /usr/local/web/nginx/nginx-1.12.2/logs/wiki.xby1993.net.access.log;
error_log /usr/local/web/nginx/nginx-1.12.2/logs/wiki.xby1993.net.error.log;
# define ssl
ssl_certificate /usr/local/web/nginx/ssl/nginx.crt;
ssl_certificate_key /usr/local/web/nginx/ssl/nginx.key;
location / {
proxy_pass http://public_server/$request_uri;
}
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.