Mateusz Gajewski
8cc3416bbc
Remove dead code, do struct alignment, simplify code
2016-10-25 19:19:54 +02:00
Toby Allen
c4d64a418b
Log site info output at start. Fix for #1205 ( #1210 )
...
* Log Site start to -log. Fix for #1205
* Removed Comment
2016-10-25 09:31:21 -06:00
Matt Holt
f3108bb7bf
Merge pull request #1207 from tw4452852/1206
...
proxy: set request's body to nil explicitly
2016-10-25 09:30:10 -06:00
Mateusz Gajewski
c2853ea64b
Use proper Request ( #1197 )
...
* Use proper Request
* Fixes
2016-10-25 09:28:53 -06:00
Tw
a1dd6f0b34
proxy: set request's body to nil explicitly
...
fix issue #1206
Signed-off-by: Tw <tw19881113@gmail.com>
2016-10-24 11:10:12 +08:00
Henrique Dias
2b9bbc5236
Moving File Manager higher in the directive list ( #1199 )
...
* Moving File Manager higher in the directive list
See hacdias/caddy-filemanager#35 .
* gofmt
2016-10-20 14:52:43 -06:00
Tw
2bd6fd0aea
errors: don't join the absolute file path
...
fix issue #1188
Signed-off-by: Tw <tw19881113@gmail.com>
2016-10-18 09:55:50 +08:00
Toby Allen
94af37087b
Fix for fastcgi deletion of Caddy-Rewrite-Original-URI header #1153 ( #1184 )
...
* Very simple fix for #1153
* Prevent Caddy-Rewrite-Original-URI being added as an HTTP ENV variable passed to FastCGI
part of fix for #1153
* Changes to Markdown to fix travis CI build.
#1955.2
* Revert "Changes to Markdown to fix travis CI build."
This reverts commit 4a01888839
.
* fail fast and fmt changes
* Create test for existance of Caddy-Rewrite-Original-URI header value #1153
* updated test comment
* const moved outside function so available to tests
2016-10-16 12:11:52 -06:00
Matthew Holt
5fcfdab6c7
Reorder basicauth directive; it should also protect redirects
2016-10-15 09:41:03 -06:00
Gregor Noczinski
016384abef
* Added directive "filter" to whitelist for support of github.com/echocat/caddy-filter ( #1167 )
2016-10-15 09:31:22 -06:00
Matt Holt
550b1170bd
Merge branch 'master' into 1173
2016-10-13 22:56:19 -06:00
Tw
4baca884c5
proxy: preserve path trailing slash if it was there
...
fix issue #1177
Signed-off-by: Tw <tw19881113@gmail.com>
2016-10-11 17:06:59 +08:00
Tw
d0455c7b9c
add more descriptive errors
...
Signed-off-by: Tw <tw19881113@gmail.com>
2016-10-11 10:34:51 +08:00
Tw
e5d33e73f3
header: implement http.Hijacker for responseWriterWrapper
...
fix issue #1173
Signed-off-by: Tw <tw19881113@gmail.com>
2016-10-11 08:53:47 +08:00
Aish Raj Dahal
733f622f7a
Add new placeholder for latency in milliseconds
2016-10-05 21:06:15 -07:00
Tw
cc638c7faa
proxy: handle 'without' option in encoded form of URL path
...
fix issue #1154
Signed-off-by: Tw <tw19881113@gmail.com>
2016-10-02 19:32:14 +00:00
Peer Beckmann
bb7787d2ee
Remove the eager check in the browse middleware ( #1144 )
...
* Remove the eager check in the browse middleware, whether the root directory exists.
Caddy will start and throw a 404-error until the directory will be created.
* Add the complimentary test.
- Tests the startup of the browse middleware if the site root is inexistent and browse is pointing to the site root.
* Some minor stylistic tweaks.
2016-09-28 12:23:44 -06:00
Matt Holt
8620581f95
Merge pull request #1145 from tw4452852/header_placeholder
...
replacer: evaluate header placeholder when replacing
2016-09-28 10:42:41 -06:00
Tw
99a6b2db67
replacer: evaluate header placeholder when replacing
...
fix issue #1137
Signed-off-by: Tw <tw19881113@gmail.com>
2016-09-28 19:32:16 +00:00
Matt Holt
8944332e13
Merge pull request #1143 from mholt/1136-fix
...
Fix #1136 - IP hash policy no longer changes host pool
2016-09-28 08:07:58 -06:00
Kris Hamoud
be1c57acfe
1136 fix
...
logic change
2016-09-28 04:09:46 -07:00
Matt Holt
b06b3981cf
Merge pull request #1140 from tw4452852/defer_header
...
header: defer header operations
2016-09-27 19:02:28 -06:00
Sebastian Schmittner
8cb4e90852
Add fix and tests for FastCGI persistent connections ( #1134 )
...
* keep fastcgi connection open
* poor mans serialisation to make up for the lack of demuxing
* pointing includes to echse's repo
* Revert "pointing includes to echse's repo"
This reverts commit 281daad8d4
.
* switch for persistent fcgi connections on/off added
* fixing ineffectual assignments
* camel case instead of _
* only activate persistent sockets on windows (and some naming conventions/cleanup)
* gitfm import sorting
* Revert "fixing ineffectual assignments"
This reverts commit 79760344e7
.
# Conflicts:
# caddyhttp/staticfiles/fileserver.go
* added another mutex and deleting map entries. thx to mholts QA comments!
* thinking about it, this RW lock was not a good idea here
* thread safety
* I keep learning about mutexs in go
* some cosmetics
* adding persistant fastcgi connections switch to directive
* Support for configurable connection pool.
* ensure positive integer pool size config
* abisofts pool fix + nicer logging for the fastcgi_test
* abisoft wants to have dialer comparison in _test instead of next to struct
* Do not put dead connections back into pool
* Fix fastcgi header error
* Do not put dead connections back into pool
* some code style improvements from the discussion in https://github.com/mholt/caddy/pull/1134
* abisofts naming convention
2016-09-27 18:12:22 -06:00
Matt Holt
871d11af00
Merge pull request #1135 from mholt/proxyerrs
...
proxy: Improve failover logic and retries
2016-09-27 17:53:44 -06:00
Matthew Holt
6397a85e50
proxy: Only wait 250ms between backend tries
2016-09-27 17:49:00 -06:00
Tw
d0ddfc849d
header: defer header operations
...
fix issue #1131
Signed-off-by: Tw <tw19881113@gmail.com>
2016-09-27 15:35:13 +08:00
Matthew Holt
617012c3fb
Use time.Since() for readability
2016-09-24 21:27:57 -06:00
Matt Holt
4adbcd2565
Merge pull request #1125 from hlidotbe/master
...
Add expires directive
2016-09-24 21:11:30 -06:00
Matt Holt
d01bcd591c
Merge pull request #1112 from tw4452852/proxy_header
...
proxy: don't append predefined headers
2016-09-24 21:02:19 -06:00
Tw
c9b022b5e0
proxy: don't append some predefined headers
...
fix issue #1086
Signed-off-by: Tw <tw19881113@gmail.com>
2016-09-25 09:24:27 +00:00
Matthew Holt
a661007a55
proxy: Fix retry logic for when no hosts are available
2016-09-24 16:30:40 -06:00
Matthew Holt
0c0142c8cc
Delete tryDuration, now unused
2016-09-24 16:05:33 -06:00
Matthew Holt
37f05e450f
proxy: Add try_duration and try_interval; by default don't retry
2016-09-24 16:03:22 -06:00
Matthew Holt
9b9a77a160
proxy: Improved error reporting
...
We now report the actual error message rather than a generic one
2016-09-24 14:22:13 -06:00
Tw
4670d13c8c
proxy: fix checking error in TestDownstreamHeadersUpdate and TestUpstreamHeadersUpdate
...
Signed-off-by: Tw <tw19881113@gmail.com>
2016-09-24 19:28:42 +00:00
Matthew Holt
9077cce126
Add tests for case insensitivity of keys and saving contexts
2016-09-24 13:24:33 -06:00
Matthew Holt
76d9d695be
Remove use of proxy_header in test
2016-09-24 12:27:16 -06:00
Matthew Holt
a4d70262aa
Use strings.Contains instead of IndexOf for readability
2016-09-24 12:09:28 -06:00
Hugues Lismonde
79f2deee42
Add expires directive
2016-09-24 08:10:32 +02:00
Abiola Ibrahim
bac54de9eb
Fastcgi persistent fix ( #1129 )
...
* Support for configurable connection pool.
* ensure positive integer pool size config
2016-09-23 23:29:23 -06:00
Matthew Holt
bbf954cbf2
Fix case sensitivity in site addresses
2016-09-20 22:44:05 -06:00
Matthew Holt
fcad474064
Move prometheus directive higher in list ( closes #1119 )
2016-09-20 14:29:32 -06:00
Lars Wiegman
4449d3dcd9
Add the multipass plugin to the directives ( #1120 )
...
* Add the multipass plugin to the directives
* Fix gofmt
2016-09-20 09:06:28 -06:00
Matthew Holt
bedad34b25
Clean up some significant portions of the TLS management code
2016-09-14 22:30:49 -06:00
James Cooper
40a3a6b24f
Add awslambda to plugin.go
2016-09-10 07:52:04 -07:00
Sebastian Schmittner
09a1f02971
persistent fastcgi connections ( #1087 )
...
* keep fastcgi connection open
* poor mans serialisation to make up for the lack of demuxing
* pointing includes to echse's repo
* Revert "pointing includes to echse's repo"
This reverts commit 281daad8d4
.
* switch for persistent fcgi connections on/off added
* fixing ineffectual assignments
* camel case instead of _
* only activate persistent sockets on windows (and some naming conventions/cleanup)
* gitfm import sorting
* Revert "fixing ineffectual assignments"
This reverts commit 79760344e7
.
# Conflicts:
# caddyhttp/staticfiles/fileserver.go
* added another mutex and deleting map entries. thx to mholts QA comments!
* thinking about it, this RW lock was not a good idea here
* thread safety
* I keep learning about mutexs in go
* some cosmetics
2016-09-10 06:47:47 -06:00
Matthew Holt
5f135a27d5
Eliminate ineffectual assignments
...
Most of these were fixed by handling errors that were previously
unhandled (oops).
2016-09-05 10:30:46 -06:00
Matthew Holt
45a3d0b526
Fix misspellings
2016-09-05 10:20:34 -06:00
Matthew Holt
14a6e4b4ed
More minor text fixes
2016-08-30 13:37:35 -06:00
Issac Trotts
1991083322
Fix tests to not make long unix domain socketpaths
...
Some tests were running into this issue:
https://github.com/golang/go/issues/6895
Putting the sockets into temp dirs fixes the problem.
2016-08-29 18:09:46 -07:00
Issac Trotts
7ba804353c
Use naoina/toml instead of BurntSushi/toml
2016-08-29 17:55:44 -07:00
Volodymyr Galkin
20ee457cae
Add 'status' middleware instead of 'status' directive for 'rewrite' middleware
2016-08-29 17:17:23 +03:00
Matthew Holt
191ec27c26
Clarify godoc for HTTP handler signature
2016-08-25 17:13:49 -06:00
Matthew Holt
17709a7d3f
Defer loading directives until needed (fix for previous commit)
...
This change is still experimental.
2016-08-25 00:15:18 -06:00
Matthew Holt
5a691fbaf5
httpserver: Added function to register directive at runtime (dev only)
...
This function should not be used outside of development. It destroys the
absolute ordering and guarantees of correctness. Multiple uses of it
may work fine, but maybe not if they overlap, causing non-deterministic
builds which is bad. However, this can be convenient when developing
a plugin by calling it from an init() function, since you don't have
to modify the Caddy source code just to try your plugin.
2016-08-24 23:12:41 -06:00
Tw
e7af23e1e6
log: add multiple log entry test
...
Signed-off-by: Tw <tw19881113@gmail.com>
2016-08-25 11:21:08 +08:00
Tw
5e0f4083c4
log: support multiple log entries under one path scope
...
fix issue #1044
Signed-off-by: Tw <tw19881113@gmail.com>
2016-08-24 12:48:51 +08:00
Michael Grosser
3dc98c8ce3
Keep quic protocol headers only between one hop
...
Removing quic protocol headers from being persisted during proxy requests.
Not removing them could lead to the client attempting to connect to the wrong port.
This makes the quic headers consistent with other protocol headers.
2016-08-23 22:05:56 +00:00
Matthew Holt
151d0baa94
Minor text fixes ;)
2016-08-23 15:47:23 -06:00
Luna Duclos
1dfe1e5ada
Add plugin capabilities for tls storage.
...
To use a plugged in storage, specify "storage storage_name" in the tls block of the Caddyfile, by default, file storage will be used
2016-08-23 23:00:20 +02:00
Nimi Wariboko Jr
2ef8905966
Proxy: Instead of setting DisableKeepAlives, set MaxIdleConnsPerHost to -1 to prevent net/http from pooling the connections. DisableKeepAlives causes net/http to send a Connection: Closed header which is bad. Fixes #1056
2016-08-22 18:00:37 -07:00
Tw
590862a962
replacer: capture request body normally
...
fix issue #1015
Signed-off-by: Tw <tw19881113@gmail.com>
2016-08-23 08:20:49 +08:00
Tw
40c09d6789
replacer: code refactor
...
Signed-off-by: Tw <tw19881113@gmail.com>
2016-08-23 08:20:49 +08:00
Tw
bba1059ef9
log: add log request body test
...
Signed-off-by: Tw <tw19881113@gmail.com>
2016-08-23 08:20:49 +08:00
Matthew Holt
fdc62d015f
log: Create log file directory before creating log file
2016-08-18 07:35:55 -06:00
Simon Lightfoot
f372f5fce7
Fix for invalid environment variable names used on windows that start with an equals symbol. Even though this contradicts the Microsoft docs.
2016-08-15 20:42:00 +01:00
Matthew Holt
454b1e3939
Honor bind directive for ACME challenges
...
Fixes https://forum.caddyserver.com/t/basic-caddy-installation-failing-on-automatic-https/472?u=matt
2016-08-15 12:08:51 -06:00
Simon Lightfoot
45ac11088e
Added support for environment variables to 'templates' module. ( #1035 )
...
* * Added support for environment variables to 'templates' module.
* Fixed flaw in test caused by environment variable ordering during testing on CI.
* Updated some local variables to camel-case.
* Reverted changes to replacer as environment variables are processed elsewhere.
* Removed PrintEnv functionality in favour of documenting using template range.
2016-08-15 11:15:58 -06:00
Volodymyr Galkin
b830667a25
Fix error which lead to skipping tests in 'errors.TestErrorsParse'
2016-08-15 16:44:34 +03:00
Volodymyr Galkin
441a8f5eff
Check for duplicate status code entries in 'errors' directive
2016-08-12 16:47:00 +03:00
Matt Holt
4f6500c95b
Merge pull request #1028 from evvvvr/wildcard-error-page-752
...
Add support for default (wildcard) error page
2016-08-11 23:33:44 -06:00
Matt Holt
ac0dd303be
Merge branch 'master' into log-request-body
2016-08-11 17:36:09 -06:00
Carter
676202a31e
Fixed styling and byte count
2016-08-11 19:08:49 -04:00
Matthew Holt
c8a99d2f81
Don't use X-Forwarded-For for {remote} placeholder ( closes #1025 )
2016-08-11 16:54:17 -06:00
Carter
8e8e2f596d
Merge branch 'master' into log-request-body
2016-08-11 18:08:19 -04:00
Volodymyr Galkin
f7003bee3f
Add support for default (wildcard) error page
2016-08-11 15:51:15 +03:00
Carter
532ab661c7
Fully read and close the request body
2016-08-11 07:03:14 -04:00
Matthew Holt
68be4a9161
Don't prompt for email when user is not there to provide one
...
Also don't bother showing stdout output in same situation
2016-08-10 23:46:04 -06:00
Carter
d56ac28bec
Using a LimitReader and fixed test and log format.
2016-08-10 22:43:26 -04:00
Carter
3fd8218f67
refactor and added test
2016-08-10 11:04:37 -04:00
Carter
d06c15cae6
Set the request body to a new ReadCloser
2016-08-10 10:36:16 -04:00
Carter
59b1e8b0bc
Now logging the request body
...
Logging the request body if the Content-Type is application/json or
application/xml
2016-08-10 10:04:57 -04:00
Matthew Holt
ce8b1dfe94
Warn upon use of proxy_header
2016-08-08 13:48:13 -06:00
Carter
4d76ccb1c4
Rounding the latency in certain scenarios ( #1005 )
...
* Rounding the latency in certain scenarios
* run gofmt
2016-08-08 10:14:53 -06:00
Simon Lightfoot
de7bf4f241
Enable downloading of protected content. See issue #979 ( #980 )
...
* Fix for stripping of 'Content-Disposition' and other headers from 'X-Accel-Redirect' redirect scripts.
* Added test case for header manipulation of redirect response.
2016-08-07 23:16:33 -06:00
Stavros Korokithakis
681c95a749
Add default "Restricted" realm to HTTP Basic auth ( #1007 )
...
* Add default "Restricted" realm to HTTP Basic auth
* Add tests for the Basic auth realm
2016-08-07 07:50:36 -06:00
Matthew Holt
2019eec5a5
Fix lint warnings; group methods for same type together
2016-08-06 14:46:52 -06:00
Matthew Holt
ee615371a8
Export staticfiles.Redirect for convenience in preserving query string
2016-08-06 14:40:58 -06:00
Nimi Wariboko Jr
8898066455
Merge branch 'master' into proxy/single-webconn
2016-08-05 16:57:54 -07:00
Nimi Wariboko Jr
824ec6cb95
Merge branch 'master' into proxy/keepalive-directive
2016-08-05 16:20:37 -07:00
Nimi Wariboko Jr
5b5e365295
Instead of treating 0 is a default value, use http.DefaultMaxIdleConnsPerHost
2016-08-05 15:41:32 -07:00
Tw
94c63e42d6
proxy: add Host header checking
...
fix issue #993
Signed-off-by: Tw <tw19881113@gmail.com>
2016-08-04 13:07:20 +08:00
Nimi Wariboko Jr
6e9439d22e
Proxy: Fix data race in test.
2016-08-02 12:39:15 -07:00
Nimi Wariboko Jr
f4cdf53761
Proxy: Fix transport defn; cleanup connection.
2016-08-02 12:31:17 -07:00
Matt Holt
89f5b646c3
Merge pull request #978 from krishamoud/master
...
added ip_hash load balancing
2016-08-02 11:25:52 -06:00
Nimi Wariboko Jr
d534a2139f
Proxy: When connecting to websocket backend, reuse the connection isntead of starting a new one.
2016-08-01 19:11:31 -07:00
Eric Drechsel
c4e65df262
Proxy: Add a failing test which replicates #763
...
2 websocket connections are made instead of one
2016-08-01 19:09:02 -07:00
Kris Hamoud
88d3dcae42
added ip_hash load balancing
...
updated tests
fixed comment format
fixed formatting, minor logic fix
added newline to EOF
updated logic, fixed tests
added comment
updated formatting
updated test output
fixed typo
2016-08-01 18:50:53 -07:00
Nimi Wariboko Jr
db4cd8ee2d
Proxy: Add keepalive directive to proxy to set MaxIdleConnsPerHost on transport. Fixes #938
2016-08-01 15:54:07 -07:00
Matt Holt
da5b3cfc50
Merge pull request #976 from wjkohnen/h2
...
Re-enable HTTP/2 for Go 1.7.
2016-08-01 15:06:44 -06:00