에러로그 설정하고 보는데 먼소리인지 모르겠다 ㅠㅠ

일단 규칙은 아래와 같이 들어온 주소를 index.php?url="어쩌구" 식으로 바꾸어 주는건데

문제는 ^(.+)$ ...

처음부터 끝까지 내용이 없던 머던 상관없는데 이걸 $1로 치환하라 인데

Options -MultiViews

RewriteEngine On

Options -Indexes

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-l

RewriteRule ^(.+)$ index.php?url=$1 [QSA,L] 


현재 읽혀 있는 경로에서 달라지는 내용만을 적용대상으로 삼는건가?

/var/www/html/arch/test/index.php 에서 있는 파일은 웹상으로 접속하면

http://localhost/arch/test 인데, 이 파일에서 링크된 다른 경로

arch/test/board는 이전 주소를 기본으로 볼때 board가 하나 추가 된 셈이니

test 이후의 board만 들어가서 rewrite rule에 적용을 받는건가?

 [perdir /var/www/html/arch/test/] add path info postfix: /var/www/html/arch/test/board -> /var/www/html/arch/test/board/, referer: http://localhost/arch/test/board/

 [perdir /var/www/html/arch/test/] strip per-dir prefix: /var/www/html/arch/test/board/ -> board/, referer: http://localhost/arch/test/board/

 [perdir /var/www/html/arch/test/] applying pattern '^(.+)$' to uri 'board/', referer: http://localhost/arch/test/board/

 [perdir /var/www/html/arch/test/] rewrite 'board/' -> 'index.php?url=board/', referer: http://localhost/arch/test/board/

 split uri=index.php?url=board/ -> uri=index.php, args=url=board/, referer: http://localhost/arch/test/board/

 [perdir /var/www/html/arch/test/] add per-dir prefix: index.php -> /var/www/html/arch/test/index.php, referer: http://localhost/arch/test/board/

 [perdir /var/www/html/arch/test/] strip document_root prefix: /var/www/html/arch/test/index.php -> /arch/test/index.php, referer: http://localhost/arch/test/board/

 [perdir /var/www/html/arch/test/] internal redirect with /arch/test/index.php [INTERNAL REDIRECT], referer: http://localhost/arch/test/board/

 [perdir /var/www/html/arch/test/] strip per-dir prefix: /var/www/html/arch/test/index.php -> index.php, referer: http://localhost/arch/test/board/

 [perdir /var/www/html/arch/test/] applying pattern '^(.+)$' to uri 'index.php', referer: http://localhost/arch/test/board/

 [perdir /var/www/html/arch/test/] pass through /var/www/html/arch/test/index.php, referer: http://localhost/arch/test/board/

 [perdir /var/www/html/arch/test/] strip per-dir prefix: /var/www/html/arch/test/public/css/style.css -> public/css/style.css, referer: http://localhost/arch/test/board/

 [perdir /var/www/html/arch/test/] applying pattern '^(.+)$' to uri 'public/css/style.css', referer: http://localhost/arch/test/board/

 [perdir /var/www/html/arch/test/] pass through /var/www/html/arch/test/public/css/style.css, referer: http://localhost/arch/test/board/ 


[링크 : http://webskills.kr/archives/515]


+

QSA는 Cond를 지난 결과에 덧 붙인다라는 의미..

음.. 경로의 마법은 저 Cond와 QSA인가?

[링크 : http://soul0.tistory.com/208]


+

REQUEST_FILENAME

The full local filesystem path to the file or script matching the request, if this has already been determined by the server at the time REQUEST_FILENAME is referenced. Otherwise, such as when used in virtual host context, the same value as REQUEST_URI. Depending on the value of AcceptPathInfo, the server may have only used some leading components of the REQUEST_URI to map the request to a file.


REQUEST_URI

The path component of the requested URI, such as "/index.html". This notably excludes the query string which is available as its own variable named QUERY_STRING.

[링크 : http://httpd.apache.org/docs/current/mod/mod_rewrite.html]


Filename should give you the complete local path, where request uri will be exactly what was requested (should also include the GET parameters). From the manual:

REQUEST_URI

The resource requested in the HTTP request line. (In the example above, this would be "/index.html".)

REQUEST_FILENAME

The full local filesystem path to the file or script matching the request. 

[링크 : http://www.miva.com/...-htaccess-what-s-the-difference-between-request_filename-and-request_uri]

신고

'프로그램 사용 > apache' 카테고리의 다른 글

mod_rewrite 테스트..  (4) 2017.04.12
mod_rewrite 로그설정  (0) 2017.04.12
라즈베리 파이 mod_rewrite 활성화  (0) 2017.04.11
mod_rewrite 설정 및 정규표현식  (0) 2017.04.10
apache mod_deflast mod_gzip  (0) 2017.01.23
무료 ssl 인증서 - lets encrypt  (2) 2017.01.20
Posted by 구차니

댓글을 달아 주세요

  1. 앗 잘 못 들어왔다... 보지 말아야 할 것을.... --;;;

    2017.04.12 15:59 신고 [ ADDR : EDIT/ DEL : REPLY ]

테스트를 해보니.. apache 전역 환경설정에서 해야 하고

로컬 .htaccess에 설정하면 에러가 발생한다.

[Wed Apr 12 09:14:03.530865 2017] [core:alert] [pid 30981] [client 0.0.0.0:3628] /var/www/html/arch/test/.htaccess: LogLevel not allowed here 


아파치 2.4 이후

LogLevel alert rewrite:trace3

[링크 : http://httpd.apache.org/docs/current/mod/mod_rewrite.html]


아파치 2.2 이전

RewriteEngine on

RewriteLog /path/to/log

RewriteLogLevel 5 

[링크 : https://wiki.apache.org/httpd/RewriteLog]



그나저나 한 페이지 로딩할때 이미지나 css 등 개별파일들 전부 적용되서 로그가 남는구나 ㄷㄷ

신고

'프로그램 사용 > apache' 카테고리의 다른 글

mod_rewrite 테스트..  (4) 2017.04.12
mod_rewrite 로그설정  (0) 2017.04.12
라즈베리 파이 mod_rewrite 활성화  (0) 2017.04.11
mod_rewrite 설정 및 정규표현식  (0) 2017.04.10
apache mod_deflast mod_gzip  (0) 2017.01.23
무료 ssl 인증서 - lets encrypt  (2) 2017.01.20
Posted by 구차니

댓글을 달아 주세요

기본값으로는 해당 모듈이 활성화 되어 있지 않았네...


$ cd /etc/apache2/mods-enabled

$ sudo ln -s ../mods-available/rewrite.load rewrite.load 




+

Directory 항목중 AllowOverride all 를 해주지 않으면

파일로 저장된 .htaccess를 적용되지 않는 것으로 보인다.

[링크 : http://zetawiki.com/wiki/하위폴더_.htaccess_설정]

신고

'프로그램 사용 > apache' 카테고리의 다른 글

mod_rewrite 테스트..  (4) 2017.04.12
mod_rewrite 로그설정  (0) 2017.04.12
라즈베리 파이 mod_rewrite 활성화  (0) 2017.04.11
mod_rewrite 설정 및 정규표현식  (0) 2017.04.10
apache mod_deflast mod_gzip  (0) 2017.01.23
무료 ssl 인증서 - lets encrypt  (2) 2017.01.20
Posted by 구차니

댓글을 달아 주세요

라즈베리에서 아파치 돌리는데 기본으로 mod_deflate가 활성화 되어 있는 것으로 보이네..

[링크 : http://extrememanual.net/4252]


아래는 제대로 압축을 수행중인지 확인하는 링크

gzip 확인은 실패하네.. 머지?

[링크 : http://tecadmin.net/how-to-enable-gzip-compression-on-apache/]

    [링크 : https://checkgzipcompression.com/]

    [링크 : http://www.whatsmyip.org/http-compression-test/]


+

ssl 적용해놨지만 인증서가 사설이라 --no-check-certificate를 해줘야 받아온다. ㅠㅠ

아무튼 받아온걸 file로 확인해보면 압축된 녀석 흐음..

$ wget --no-check-certificate --header="Accept-Encoding: gzip" https://localhost/php_test/phpinfo.php

--2017-01-23 15:40:12--  https://localhost/php_test/phpinfo.php

Resolving localhost (localhost)... ::1, 127.0.0.1

Connecting to localhost (localhost)|::1|:443... connected.

WARNING: The certificate of ‘localhost’ is not trusted.

WARNING: The certificate of ‘localhost’ hasn't got a known issuer.

The certificate's owner does not match hostname ‘localhost’

HTTP request sent, awaiting response... 200 OK

Length: 24808 (24K) [text/html]

Saving to: ‘phpinfo.php’


phpinfo.php                  100%[===============================================>]  24.23K  --.-KB/s   in 0.007s


2017-01-23 15:40:12 (3.63 MB/s) - ‘phpinfo.php’ saved [24808/24808] 


$ file phpinfo.php

phpinfo.php: gzip compressed data, from Unix


[링크 : https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-mod_deflate-on-ubuntu-14-04]

[링크 : https://forum.ivorde.com/wget-error-error-the-certificate-of-is-not-trusted-t19611.html]


+

표준상으로는 compress, gzip 정도 밖에 안되는건가?

[링크 : https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html]

신고
Posted by 구차니

댓글을 달아 주세요

90일간 유효하지만 cron으로 자동으로 업데이트 하도록 하는 것 까지 다 되어있나 보네?

[링크 : https://certbot.eff.org/#ubuntuxenial-apache]


[링크 : http://kr.minibrary.com/353/]

[링크 : https://blog.outsider.ne.kr/1178]

[링크 : https://letsencrypt.org/]



+

2017.01.23

엥? 라즈베리에는 안되나?

$ sudo apt-cache search letsencrypt

$ sudo apt-get install python-letsencrypt-apache

Reading package lists... Done

Building dependency tree

Reading state information... Done

E: Unable to locate package python-letsencrypt-apache 

[링크 : https://launchpad.net/ubuntu/+source/python-letsencrypt-apache]

[링크 : http://askubuntu.com/questions/445487/which-ubuntu-version-is-equivalent-to-debian-squeeze]


정리 하자면.. 라즈베리에서 쓰는 jessie는 debian쪽인데

14.04 ~ 15.10 정도에 대응하는 버전이라고 한다. 그러니까 없지 ㅠㅠ

신고
Posted by 구차니

댓글을 달아 주세요

  1. 안녕하세요~ 본문 링크 미니브러리 주인장입니다~
    Debian Stretch 릴리즈 이후 오랜만에 라즈베리파이 만지고있는데, certbot 도 apt repository에 등록 되어있습니다~
    블로그는 귀찮아서 업데이트는 나중에..ㅎㅎ


    Package: certbot
    Version: 0.10.2-1
    Priority: extra
    Section: web
    Source: python-certbot
    Maintainer: Debian Let's Encrypt <letsencrypt-devel@lists.alioth.debian.org>
    Installed-Size: 45.1 kB
    Provides: letsencrypt
    Depends: python-certbot (= 0.10.2-1), init-system-helpers (>= 1.18~), python:any (>= 2.7~)
    Suggests: python-certbot-apache, python-certbot-doc
    Breaks: letsencrypt (<= 0.6.0)
    Replaces: letsencrypt
    Homepage: https://certbot.eff.org/
    Download-Size: 17.8 kB
    APT-Manual-Installed: yes
    APT-Sources: http://ftp.tsukuba.wide.ad.jp/raspbian stretch/main armhf Packages
    Description: automatically configure HTTPS using Let's Encrypt
    The objective of Certbot, Let's Encrypt, and the ACME (Automated
    Certificate Management Environment) protocol is to make it possible
    to set up an HTTPS server and have it automatically obtain a
    browser-trusted certificate, without any human intervention. This is
    accomplished by running a certificate management agent on the web
    server.
    .
    This agent is used to:
    .
    - Automatically prove to the Let's Encrypt CA that you control the website
    - Obtain a browser-trusted certificate and set it up on your web server
    - Keep track of when your certificate is going to expire, and renew it
    - Help you revoke the certificate if that ever becomes necessary.
    .
    This package contains the main application, including the standalone
    and the manual authenticators.

    2017.10.12 20:59 신고 [ ADDR : EDIT/ DEL : REPLY ]
    • 엌ㅋ 영어로 많아서 스팸으로 자동처리 되어버렸네요. 내용 감사합니다 ^^ 즐거운 하루되세요

      2017.10.13 08:17 신고 [ ADDR : EDIT/ DEL ]

기사를 보다보니 나라에서 발급해주는데가 있네?


[링크 : http://v.media.daum.net/v/20170120142600405]

[링크 : https://www.gpki.go.kr/]



아.. 빌어먹을 한글파일 -_-


네이버 클라우드 사용하면 머 보고 쓸순 있으니..

그냥 이걸로 공문 만들어서 하면 되는건가?


와.. 사이트에서 해주는 것도 아니고 인증담당자 검색도 안되는거 페이지 넘겨가면서 찾고는

전화해서 해주세요 굽신굽신 해야 하는거야?!?!


그런데 개인용이라길래 나 같이 정말 "개인"이 쓰는건줄 알았는데...

그 개인이 그 개인이 아냐?!


개인

인증관리센터는 행정기관 소속 공무원이 사용자인증 및 전자결재, 보안메일 등의 행정업무 또는 전자상거래 등에서 활용하도록 하기 위해 부처별 개인단위로 인증서를 발급합니다.

[링크 : https://gcert.gpki.go.kr/jsp/certInfo/certIntro/certKind/searchCertkind.jsp]

[링크 : https://parking.suwon.go.kr/uat/uia/egovGpkiIssu.do]

신고
Posted by 구차니

댓글을 달아 주세요

mod_throttle은 대충 찾아 보니 Apache 1.x 꺼고

mod_cband는 apache 2.x 용인듯


그래서 대세(!?)는 mod_cband


[링크 : https://sourceforge.net/projects/cband/]

[링크 : http://serverfault.com/questions/30149/alternative-to-mod-throttle]

신고
Posted by 구차니

댓글을 달아 주세요

여기 문서를 참고해서 일단

가입 - 인증서 설치 - 로그인 - domain 인증 - 사이트 인증서 발급 함

[링크 : https://www.xetown.com/slope/135905]


발급과정에서 개인키 생성해서 웹에붙여 주어야 하는데 yourname.csr을 사용하고

개인키에 암호를 삭제한 yourname.nokey 파일을 생성

$ openssl req -newkey rsa:2048 -keyout yourname.key -out yourname.csr

Generating a 2048 bit RSA private key

.+++

.....................+++

writing new private key to 'yourname.key'

Enter PEM pass phrase:

Verifying - Enter PEM pass phrase:

-----

You are about to be asked to enter information that will be incorporated

into your certificate request.

What you are about to enter is what is called a Distinguished Name or a DN.

There are quite a few fields but you can leave some blank

For some fields there will be a default value,

If you enter '.', the field will be left blank.

-----

Country Name (2 letter code) [AU]:KR

State or Province Name (full name) [Some-State]:

Locality Name (eg, city) []:

Organization Name (eg, company) [Internet Widgits Pty Ltd]:

Organizational Unit Name (eg, section) []:

Common Name (e.g. server FQDN or YOUR name) []:

Email Address []:


Please enter the following 'extra' attributes

to be sent with your certificate request

A challenge password []:

An optional company name []:


그리고는 키를 없애고 키 저장소로 복사!

$ openssl rsa -in yourname.key -out yourname.nokey

Enter pass phrase for yourname.key:

writing RSA key

$ sudo cp yourname.nokey /etc/ssl/private/yourname.nokey 

[링크 : http://blog.acu.pe.kr/55]


그러면 zip파일로 다운받을 수 있는데

apache를 쓰고 있으니 해당 파일을 압축 풀어 /etc/ssl/certs 에 넣어 주었다.

$ unzip minimonk.net.zip

$ unzip ApacheServer.zip

$ sudo cp *.crt /etc/ssl/certs


일단 공식사이트에서는 이렇게 하라는데

SSLCertificateFile "/usr/local/apache2/conf/2_your_domain.crt"

SSLCertificateKeyFile "/usr/local/apache2/conf/private.key"

SSLCertificateChainFile "/usr/local/apache2/conf/1_root_bundle.crt" 

[링크 : https://www.startssl.com/Support?v=21]


나의 경우에는 이런식으로 설정

$ sudo vi /etc/apache2/sites-available/default-ssl.conf 

                SSLCertificateFile /etc/ssl/certs/2_your_domain.crt

                SSLCertificateKeyFile /etc/ssl/private/yourname.nokey

                SSLCertificateChainFile /etc/ssl/certs/1_root_bundle.crt


아무튼 라즈베리 키로 할때는 안전하지 않음이라고 크롬에서 뜨는데

starssl 에서 적용하니 이제 안전함! 우오오옹

class 1이라 그런가

은행권 처럼 녹색으로 줄이 쫙! 그이진 않네


---

처음 하라는대로 해보니 되긴한데 암호 넣으라고 한다. ㅠㅠ

그래서 키삭제 하는게 서비스 유지에는 편리!

$ sudo service apache2 restart

Enter passphrase for SSL/TLS keys for 127.0.1.1:443 (RSA): ******** 



어? 아이패드에서 (ios 10.2) 접속 자체를 안하는것 같다?!?!
[링크 : https://discussions.apple.com/thread/7791706?start=0&tstart=0]


신고
Posted by 구차니

댓글을 달아 주세요

  1. http://www.zdnet.co.kr/news/news_view.asp?artice_id=20161011135429
    WoSign 과 StartCom에 대한 안좋은 뉴스가 있어서
    해볼까 하다가 안하고 있었죠.
    괜찮을까요?

    2017.01.05 17:17 신고 [ ADDR : EDIT/ DEL : REPLY ]
    • 헉?! 일단은 라즈베리 서버에 테스트용으로 쓰는거라 귀찮기도 하고 여러가지 이유로 테스트만 하는거라 현재 까지는 무료라는 점에서 만족을 하렵니다 ㅠㅠ

      물론 나중에 상용으로 해야 한다면.. 좀 비싸도 다른데서 해야겠네요 ㅠㅠ

      2017.01.05 17:23 신고 [ ADDR : EDIT/ DEL ]
    • 음.. 제꺼인증서 자체는 문제가 된 SHA-1은 아니고 SHA-256이라 어떻게 해야할지 모르겠네요.
      머.. 테스트 서버니까 쿨~하게 ㅋㅋㅋ

      어라.. 다시 보니까.. 서명은 sha-256/ 지문은 sha-1 이네요.. 머징... ㅠㅠ

      2017.01.05 17:29 신고 [ ADDR : EDIT/ DEL ]

공인 인증하려면 비싸니까(년 3만원 이상)

개인이 쓰거나 개발용이라면 사설인증서 만들어서 써도 된다네?(openssl)


[링크 : http://stackoverflow.com/questions/2336678/login-without-https-how-to-secure]

[링크 : https://opentutorials.org/course/228/4894]

[링크 : http://tuwlab.com/ece/8616] <<



개인정보 가지면 무조건 HTTPS를 의무화한 법안으로 인해

일단은 무조건 해봐야 할 듯?


+

라즈베리 밀고 다시 해봐야하나.

그냥 기본적으로 거의 다 되어 있고

http://localhost 대신

https://localhost로 하면 된다.


http://로 접속한걸 https:// 로 자동 리다이렉션 하는 법 없나..

<VirtualHost *:80>

        # The ServerName directive sets the request scheme, hostname and port that

        # the server uses to identify itself. This is used when creating

        # redirection URLs. In the context of virtual hosts, the ServerName

        # specifies what hostname must appear in the request's Host: header to

        # match this virtual host. For the default virtual host (this file) this

        # value is not decisive as it is used as a last resort host regardless.

        # However, you must set it for any further virtual host explicitly.

        #ServerName www.example.com


        ServerAdmin webmaster@localhost

        DocumentRoot /var/www/html


        # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,

        # error, crit, alert, emerg.

        # It is also possible to configure the loglevel for particular

        # modules, e.g.

        #LogLevel info ssl:warn


        ErrorLog ${APACHE_LOG_DIR}/error.log

        CustomLog ${APACHE_LOG_DIR}/access.log combined


        # For most configuration files from conf-available/, which are

        # enabled or disabled at a global level, it is possible to

        # include a line for only one particular virtual host. For example the

        # following line enables the CGI configuration for this host only

        # after it has been globally disabled with "a2disconf".

        #Include conf-available/serve-cgi-bin.conf


        Redirect / https://raspberrypi/

</VirtualHost> 

[링크 : http://stackoverflow.com/.../how-to-redirect-all-http-requests-to-https/21798882#21798882]


mod_rewrite로 하는법이라는데 왜 안되지..

[링크 : https://wiki.apache.org/httpd/RewriteHTTPToHTTPS]



+

16.11.25일자 라즈베리 배포판으로는 아래의 과정만 하면 설정완료!

ssl 관련 설정은 해당 모듈만 활성화 시켜주는 되는 듯

$ sudo apt-get install apache2 mysql-server mysql-client-5.5 php5 php5-mysql php5-gd openssl


$ cd /etc/apache2/sites-available/

$ sudo vi 000-default.conf

redirect / https://raspberrypi/

$ sudo a2enmod ssl

$ sudo a2ensite default-ssl

$ sudo service apache2 restart 


+2017.01.05

경고 뜨는게 싫고, 다른데서 매번 사용확인해주는게 귀찮아서라도 하나 해야 할 듯 -_-

[링크 : https://www.xetown.com/slope/135905]

[링크 : https://blog.elpo.net/get-free-ssl-certificate/]


신고
Posted by 구차니

댓글을 달아 주세요