회사 웹서비스에서 COMODO SSL 인증서를 사용하는데, 안드로이드에서 접속하면 위와 같이 표시되는 문제가 있었다.
신기하게도 PC웹, 아이폰에서는 경고 표시가 되지 않았다. (사실 약간의 문제를 허용하는 것 같다.)
원인은 인증서가 (완벽히) 완전하지 않아서 생기는 문제인데, 아래 링크처럼 상위 루트 인증서와 함께 .crt 파일을 병합하여 사용하면 된다. COMODO 말고 다른 인증서들도 이렇게 해야 하는지는 확실치 않다.
https://support.comodo.com/index.php?_m=knowledgebase&_a=viewarticle&kbarticleid=1365
우리의 경우는 아래처럼 ssl-bundle.crt를 새로 생성해서 사용했다.
cat www_yourdomain_com.crt ComodoHigh-AssuranceSecureServerCA.crt AddTrustExternalCARoot.crt >> ssl-bundle.crt
최 앞단의 웹서버로 nginx를 사용하는데 위의 파일을 이용하여, ssl을 연동하기 위한 설정은 아래와 같다.
# Upstream WAS servers, e.g.: on port 80
upstream domain {
server www1.domain.net:80;
server www2.domain.net:80;
}
#proxy_cache_path /var/cache/nginx
# levels=1:2 keys_zone=CACHE1:10m inactive=24h max_size=1g;
# Redirect all HTTP requests to HTTPS.
server {
listen 80;
server_name www.domain.net;
location / {
#rewrite ^ https://www.domain.net$request_uri? permanent;
rewrite ^/(.*) https://www.domain.net/$1 permanent;
}
}
# Proxy HTTPS requests on www to WAS servers. (www1, www2, ...)
server {
listen 443 default_server ssl;
server_name www.domain.net;
ssl on;
ssl_certificate /etc/nginx/ssl/sslzeein.crt;
ssl_certificate_key /etc/nginx/ssl/sslzeein.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_client_certificate /etc/nginx/ssl/COMODOHigh-AssuranceSecureServerCA.crt;
# Only allow GET, HEAD, and POST requests.
if ($request_method !~ ^(GET|HEAD|POST)$ ) {
return 444;
}
location / {
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 https;
proxy_set_header Host $http_host;
proxy_next_upstream error;
proxy_pass http://domain;
proxy_redirect off;
# proxy_cache CACHE1;
# proxy_cache_valid 200 302 10m;
# proxy_cache_valid 404 1s;
# proxy_cache_use_stale error timeout invalid_header updating
# http_500 http_502 http_503 http_504;
# if ($request_uri ~* \.(ico|css|js|gif|jpe?g|png)$) {
# expires 72h;
# break;
# }
}
}
* COMODO 한국 사이트에서는 nginx용 설정 예제가 없다. 언제쯤 트렌드를 반영한 사용자 가이드를 만들 것인지...
'미분류' 카테고리의 다른 글
[박혜웅] 라즈베리파이 입문 (raspberry pi & XBMC) (0) | 2013.03.11 |
---|---|
[박혜웅] MySQL 접근 권한 설정 (Grant, Revoke 명령) (0) | 2012.06.14 |
인코딩 관련 좋은 링크들 character set, encoding (UTF-8, EUC-KR, Unicode, BOM) (0) | 2011.11.30 |
오픈소스 라이센스 비교 (0) | 2011.02.18 |
[박혜웅] CentOS 5.5 용 yum repository (rpmforge) 추가 (0) | 2010.11.18 |