There are a number of reasons why you might get a generic “HTTP error” when uploading images in the WordPress Media Library. The first place to look might be the resource limits in your /etc/php.ini file (memory and execution time, for example):

; Resource Limits ;

; Maximum execution time of each script, in seconds
; Note: This directive is hardcoded to 0 for the CLI SAPI
max_execution_time = 30

; Maximum amount of time each script may spend parsing request data. It's a good
; idea to limit this time on productions servers in order to eliminate unexpectedly
; long running scripts.
; Note: This directive is hardcoded to -1 for the CLI SAPI
; Default Value: -1 (Unlimited)
; Development Value: 60 (60 seconds)
; Production Value: 60 (60 seconds)
max_input_time = 60

; Maximum input variable nesting level
;max_input_nesting_level = 64

; How many GET/POST/COOKIE input variables may be accepted
; max_input_vars = 1000

; Maximum amount of memory a script may consume (128MB)
memory_limit = 128M

Some servers might also be running a deprecated version of ImageMagick. You can change the default image editor from ImageMagick to GD by adding the following filter to your theme (or child-theme) functions.php file (props mklusak).

add_filter( 'wp_image_editors', 'change_graphic_lib' );

function change_graphic_lib($array) {
        return array( 'WP_Image_Editor_GD', 'WP_Image_Editor_Imagick' );