이전 목록 다음
채택완료

nginx ssl이 적용된 서버에서 네이버 페이 xml을 위해 특정 url만 http로 변환시키는 방법

2017-03-27 (월) 20:22:26 5,438

현재 다음과 같은 방법을 통해 nginx를 설정 ssl을 운영하고 있습니다.

server {

listen       80;

server_name  .example.com;

return 301 https://$server_name$request_uri;

}

 server {

listen 443 ssl http2;

server_name  .example.com;   

root   /home/example.com/www;

client_max_body_size 10M;

keepalive_timeout 70;

헌데 네이버페이를 적용하는데 있어 다음과 같은 메일을 받았습니다.

현재 가맹점 url이 http://~ 로 접근할 경우 무조건 https://~ 로 리디렉션 되게 처리되어 있는 것으로 확인되는데

상품정보 xml url은 https://~로 리디렉션 되지 않게 http url로 예외처리를 부탁드리며

http://www.example.com/shop/naverpay/naverpay_item.php?ITEM_ID=ba00000006

해당 상품정보 xml의 Content-Type application/xml이 맞는지 확인 부탁드립니다.


이를 해결하기 위해 인터넷 상의 여러 방법으로 redirection을 시도해 보았으나

적용이 안되거나 페이지를 찾을 수 없다는 형식으로만 나와 헤매고 있습니다.

 

제가 적용한 코드는 다음과 같습니다.

location ~ /shop/naverpay {

#rewrite ^ http://$host$request_uri paramenant;

return 301 http://$host$request_uri;

}

location, if 문을 사용하여 여러 곳에서 코드를 변형, 적용해 보았으나

해결책을 탖지 못하고 있습니다.

혹 조언을 주실 수 있으시다면 부탁 드리겠습니다 

 

|

답변 1개 / 댓글 2개

채택된 답변
+20 포인트
2017-04-05 (수) 21:21:16

5번째줄 11번째줄 참고하세요.

출처: http://nanati.me/htaccess-http-https-ssl/

.htaccess 기입방법

  1. <IfModule mod_rewrite.c>
  2. RewriteEngine On
  3. RewriteBase /
  4. # HTTP로 접속 된 경우,
  5. RewriteCond %{HTTPS} off
  6. # 아래의 URL은 항상 https로 리다이렉트
  7. RewriteCond %{HTTP_HOST} www.example.com
  8. RewriteCond %{REQUEST_URI} ^/admin/.*$ [OR]
  9. RewriteCond %{REQUEST_URI} ^/inquiry/.*$
  10. # 단 아래를 제외하고.
  11. RewriteCond %{REQUEST_URI} !^/assets/.*$
  12. RewriteCond %{REQUEST_URI} !^.*\.(js|css|gif|jpg|png|ico|php)$
  13. # https로 리다이렉트
  14. RewriteRule ^.*$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
  15. # HTTPS로 접속 된 경우,
  16. RewriteCond %{HTTPS} on
  17. # 아래의 URL이외는 항상 http로 리다이렉트
  18. RewriteCond %{HTTP_HOST} www.example.com
  19. RewriteCond %{REQUEST_URI} !^/admin/.*$
  20. RewriteCond %{REQUEST_URI} !^/inquiry/.*$
  21. # 단 아래를 제외하고.
  22. RewriteCond %{REQUEST_URI} !^/assets/.*$
  23. RewriteCond %{REQUEST_URI} !^.*\.(js|css|gif|jpg|png|ico|php)$
  24. # http로 리다이렉트
  25. RewriteRule ^.*$ http://%{HTTP_HOST}%{REQUEST_URI} [R,L]
  26. </IfModule>

답변에 대한 댓글 2개

진심으로 정보 너무 감사 드려요 덕분에 오늘 하루 엄~~~청 힘이 솟습니다.
좋은 하루 되세요!!! 너무 감사 합니다 ^^
2017-04-06 (목) 20:04:50
^^

답변을 작성하려면 로그인이 필요합니다.