Apache 2.4/Jira에서 PUT HTTP 메소드를 허용하는 방법 [닫기]

Apache 2.4/Jira에서 PUT HTTP 메소드를 허용하는 방법 [닫기]

Ubuntu 16.04에서 전역적으로 또는 Apache 2.4의 단일 가상 호스트에 대해서만 PUT HTTP 메서드를 활성화하는 방법을 알려주실 수 있는 분 계십니까? 여러 가지를 시도했지만 아무것도 작동하지 않습니다. Jira에 대한 역방향 프록시 구성이 있습니다. 이 구성은 GET 및 POST에는 작동하지만 PUT에는 작동하지 않습니다. 간단히 말해서 다음과 같습니다.

<VirtualHost *:443>
SSLEngine on


# JIRA Proxy Configuration:
<Proxy *>
Order deny,allow
Allow from all
AllowMethods GET POST PUT DELETE OPTIONS
</Proxy>
SSLProxyEngine On
ProxyRequests Off
ProxyPreserveHost On
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
</VirtualHost>

나의 첫 번째 접근 방식은 Proxy* 구성이었습니다.

<Limit GET POST PUT DELETE OPTIONS>
Require all granted
</Limit> 

그 후 나는 시도했다

<RequireAny>
Require method DELETE GET POST PUT OPTIONS
</RequireAny>

마침내 나는 시도했다

AllowMethods GET POST PUT DELETE OPTIONS

난 항상 이렇게 해

apachectl configtest
apachectl restart

아무것도 작동하지 않습니다. 컬을 통해 PUT 요청을 할 때마다 다음이 표시됩니다.

curl -H "Content-Type: application/json" -X PUT -d '{"comment": "I did some work here.","visibility": {"type": "group","value": "jira-developers"},"started": "2017-09-27T13:06:14.160+0000","timeSpentSeconds": 12000}' https:/hostname/rest/api/2/issue/blubb-11/worklog -vvvv
<snip>
> Content-Type: application/json
> Content-Length: 163
>
* upload completely sent off: 163 out of 163 bytes
< HTTP/1.1 405
< Date: Thu, 28 Sep 2017 14:23:45 GMT
< Server: Apache/2.4.18 (Ubuntu)
< X-AREQUESTID: 983x106858x1
< X-ASEN: SEN-4341829
< X-AUSERNAME: anonymous
< Allow: HEAD,POST,GET,OPTIONS
< X-Content-Type-Options: nosniff
< Content-Type: text/html;charset=UTF-8
< Content-Length: 0
</snip>

답변1

문제는 내 쪽에서 보낸 잘못된 형식의 Jira API Rest 요청이었습니다. 요청이 잘못된 경우 Jira는 Rest 메서드가 PUT을 지원하더라도 다소 오해의 소지가 있는 "Allow: HEAD, POST, GET, OPTIONS"를 보냅니다.

관련 정보